IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Compter et décompter


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Compter et décompter
    Bonjour, je cherche à faire une page interne qui me permette de voir qui est connecté à mon serveur d'applications (MATLAB). Pour cela j'utilise le fichier de log que j'ouvre.
    Ma question : Peut-on faire une recherche de 2 chaînes de caractères dans la même ligne, pour pouvoir par la suite, suivant le résultat, incrémenter ou décrémenter une variable qui s'affiche dans un tableau.
    La variable en question est le nombre de licence restant disponible.

    Ma page de base, suit ma page de fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <HTML><TITLE>Page de consultation de l'occupation de MATLAB</TITLE>
    <HEAD><CENTER><H2> Occupation du serveur MATLAB </H2></CENTER></HEAD>
    <BODY>
    <H6 ALIGN=RIGHT>
    <?php echo date("l F dS, Y - H:i:s"); ?>
    <br>
    Your IP: <?php echo $_SERVER['REMOTE_ADDR'];
    ?>
    </H6>
     
    <?php
    require_once 'fonctions.php';
    require_once 'Matlab/fonction.php';
    #Détections des erreurs
    ini_set('display_startup_errors', "1") ;
    ini_set('log_errors', "1") ;
    ini_set('error_log', 'php_errors.log') ;
    error_reporting(E_ALL) ;
    ?>
     
    <TABLE width="100%"border=1>
     
    <TR>
    <TD width="10%"><CENTER> Signalisation	</CENTER></TD>
    <TD width="25%"><CENTER> Nom de l'application	</CENTER></TD>
    <TD width="10%"><CENTER> Maximum </CENTER></TD>
    <TD width="15%"><CENTER> Disponible </CENTER></TD>
    <TD width="30%"><CENTER> Utilisateurs	</CENTER></TD>
    </TR>
     
     
    		<TR>
    			<TD> </TD>
    			<TD><CENTER> MATLAB </CENTER></TD>
    			<TD><CENTER> 15 </CENTER></TD>
    			<TD><CENTER>
    			<?php	
    			get_info("15","\"MATLAB\"");
    			?>
    			</CENTER></TD>
    			<TD><FORM><SELECT NAME="choix" SIZE="1">
    			<?php
    			get_Application("\"MATLAB\"");
    			?>
    		</SELECT></FORM></TD>
    		</TR>
     
     
     
    </TABLE>
     
    </BODY>
    </HTML>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php
    // Copyright (C) 2007 Eric "Bebert" Lambert : Bebert_lambert@hotmail.com
     
    //------------------------------------------------------------------------
    // Cette fonction retourne le temps courant
    //------------------------------------------------------------------------
    function get_microtime() {
    	list($usec, $sec) = explode(" ", microtime());
    	return ((float)$usec + (float)$sec);
    }
     
     
    //------------------------------------------------------------------------
    // Cette fonction retourne toutes les personnes qui se sont connectées
    //------------------------------------------------------------------------
    function get_Application($application) {
    mysql_connect("localhost", "root", "Motdepasse") or die ("La connection au serveur MySQL à échouée"); // Connexion à MySQL
    mysql_select_db("Matlab") or die ("La connection a la base de données à échouée"); // Sélection de la base
    $query="SELECT DISTINCT Utilisateur FROM Matlab WHERE Application='$application' ORDER BY Utilisateur;";
    $result=mysql_query($query) or die($query . "-" . mysql_error());
    while ($ligne=mysql_fetch_array($result))
    {
    	echo'	
    			<OPTION> '.$ligne['Utilisateur'].'</OPTION>';
    }
    mysql_close(); // Déconnexion de MySQL
    }
     
    //------------------------------------------------------------------------
    // Cette fonction retourne le nombre de licence restante
    //------------------------------------------------------------------------
     
    function get_info($i, $Application) {
    	$inF = fopen($log,"r");
    	$tableau = file($log);
     
    	foreach ($tableau as $line_num => $line)	{
    		if (stristr($line,'IN') AND stristr($line,'$Application'))	{
    			$i = $i-1;
    			fclose($inF);
    			die("ok");
    		}
    	}
    	echo"$i";
     
    	fclose($inF);
    }
    ?>
    Comme vous pouvez vous en doutez, je décremente quand il y a un "IN" et je dois incrémentez quand il y a un "OUT" en plus du nom de l'application.
    Je suis débutant en php, aidez-moi merci.

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	if (stristr($line,'$Application')) {
    		if (stristr($line,'IN'))	{
    			$i = $i-1;
    			fclose($inF);
    		} else if (stristr($line,'OUT')) {
    			$i = $i+1;
    			fclose($inF);
    		}
    	}

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup, cela va m'être très utile pour soulever le problème suivant.
    Comment afficher l'utilisateur qui est connecté actuellement? Et avec lui depuis combien de temps il est connecté?
    Le problème c'est que dans mon fichier de log, la date est une ligne à part entière, ce qui fait que lorsqu'un utilisateur se connecte, il y a juste l'heure de connexion!!!

    Un bout du fichier de log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    19:15:41 (MLM) IN: "MATLAB" shidot@ALNITAK
    19:15:41 (MLM) IN: "Control_Toolbox" shidot@ALNITAK
    20:54:28 (MLM) IN: "MATLAB" tbatar01@moivre
    21:26:59 (MLM) OUT: "MATLAB" tbatar01@moivre
    22:02:22 (MLM) IN: "MATLAB" tbatar01@moivre
    22:35:16 (lmgrd) TIMESTAMP 1/24/2007
    4:35:16 (lmgrd) TIMESTAMP 1/25/2007
    9:03:03 (MLM) UNSUPPORTED: "MATLAB_Web_Server" (PORT_AT_HOST_PLUS   ) SYSTEM@ERIDANUS  (License server does not support this feature (-18,327))
    9:05:39 (MLM) OUT: "MATLAB" tbatar01@moivre
    10:25:18 (MLM) OUT: "MATLAB" shidot@ALNITAK
    Merci d'avance pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compter le nombre de page d'un report
    Par ToYonos dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/06/2003, 10h36
  2. compter le nombre de record
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 12/03/2003, 10h53
  3. [TListView] Compter le nombre de lignes
    Par agh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2002, 21h25
  4. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 10h41
  5. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo