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 :

[PHP] Compter les lignes d'une table


Sujet :

Langage PHP

  1. #1
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut [PHP] Compter les lignes d'une table
    Bonjour, j'ai plusieurs données dans ma table , lorsque c'est le meme OF et que le status est en arret je compte les lignes , ça fonctionne bien , il y a pas de soucis :
    table : Nom : rfegververf.PNG
Affichages : 1421
Taille : 29,8 Ko

    le code :
    Code PHP : 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
     
    <?php
    $sql4 = $mysqli->query("SELECT * FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of' AND compteur='$compteurmin'");
    $req4=mysqli_fetch_array($sql4);
    $timermin = $req4['TIMER'];
    //$tps = $mysqli->query("SELECT COUNT(*) FROM AUTOMATES.TIMERSIMA WHERE STATUS='ARRET'");
    $description2 = $req4['DESCRIPTION'];
     if ($result = $mysqli->query("SELECT * FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of' AND STATUS='ARRET'")) {
        while ($row = $result->fetch_array()) {
    //echo '-'.$row['compteur'].'-';
    //echo "<TD>" . $row['ID'] . "</TD>";
    //echo "<TD>" . $row['TIMER'] . "</TD>";
    //echo "<TD>" . $tps['TEMPS ARRET'] . "</TD>";
    //echo "<TD>" . $row['OF'] . "</TD>";
    //echo "<TD>" . $row['compteur'] . "</TD>";
    //echo "<TD>" . $row['STATUS'] . "</TD>";
    //	echo "<TD><a href='codeerror.php?ID=".$row['ID']."' rel='external' data-role='button' data-mini='true' data-inline='true'>cliquez ici</a></td>";
    //	echo "</tr>";
    	}
    	}
    $row_cnt = mysqli_num_rows($result);  // compte le nombre de lignes -> 1 ligne = 1 minute
    ?>


    Mais j'aimerais que lorsque que j'ai ca :

    Nom : tgtrhrht.PNG
Affichages : 1327
Taille : 72,4 Ko
    (entouré en rouge = OF)

    (en gros = marche/arret/marche/arret)
    j'aimerais compter seulement les lignes en arret tant qu'ils ne passent pas en marche et donc faire ça pour chaque arret pour que cela donne :
    Nom : lolo.PNG
Affichages : 1497
Taille : 45,1 Ko

    ( en jaune = $row_cnt = mysqli_num_rows($result); // compte le nombre de lignes -> 1 ligne = 1 minute)
    j'ai essayé beaucoup de choses , fait des recherches mais sans réussite....

  2. #2
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Il faudrait compter le nombre de ligne jusqu'à ce que la valeur change , comment m'y prendre ? Cela fait 3h que je cherche et toujours rien...
    Si vous avez des liens de site qui pourrait m'aider je suis preneur

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 512
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    je ne sais pas pour les autres, mais moi, j'ai pas compris ton besoin...Les lignes de quoi faut compter ? Et jusqu'à ce que la valeur change ; mais la valeur...de quoi ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Août 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 40
    Par défaut
    idem j ai pas très bien compris le besoin ,
    mais tu devrais voir du coté de SELECT COUNT()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $sql1="SELECT COUNT(ma_colonne_a_compter) AS resultat_du_comptage FROM ma_table WHERE argument1='1' AND argument2='toto' ;"; 
    $result1 = mysqli_query($conn,$sql1);
    $row = mysqli_fetch_assoc($result1);
    $resultat_du_comptage=$row["resultat_du_comptage"];
    if ($resultat_du_comptage >1)
    {
    ...
    }

  5. #5
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Bonjour,
    je ne sais pas pour les autres, mais moi, j'ai pas compris ton besoin...Les lignes de quoi faut compter ? Et jusqu'à ce que la valeur change ; mais la valeur...de quoi ?
    Les lignes de données d'une table, et seulement les lignes où dans la colonne "STATUS" la donnée est "ARRET" et quand la valeur est "MARCHE" ca compte pas.

    donc ca compte les lignes avec "arret" et donc quand cette valeur change ( devient MARCHE) ça compte pas

  6. #6
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Citation Envoyé par saveus Voir le message
    idem j ai pas très bien compris le besoin ,
    mais tu devrais voir du coté de SELECT COUNT()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $sql1="SELECT COUNT(ma_colonne_a_compter) AS resultat_du_comptage FROM ma_table WHERE argument1='1' AND argument2='toto' ;"; 
    $result1 = mysqli_query($conn,$sql1);
    $row = mysqli_fetch_assoc($result1);
    $resultat_du_comptage=$row["resultat_du_comptage"];
    if ($resultat_du_comptage >1)
    {
    ...
    }

    Ton code reviens à faire ce que j'ai déjà fait.....

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $row_cnt = mysqli_num_rows($result);

    Le problème c'est que code il compte toutes les lignes en "ARRET" et moi j'aimerais que quand la valeur passe en "MARCHE" ça arrête de compter les lignes et ensuit ça fait la même dès qu'il y a encore "ARRET" ect..

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Quand tu sauras expliquer très CLAIREMENT ta problématique, tu l'auras résolue à 90%.

  8. #8
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    Quand tu sauras expliquer très CLAIREMENT ta problématique, tu l'auras résolue à 90%.

    Je COMPTE des lignes d'une TABLE d'une BASE DE DONNEES quand dans la COLONNE de la TABLE appelés "STATUS" quand la VALEUR = ARRET
    grâce à ce CODE
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $row_cnt = mysqli_num_rows($result);  // compte le nombre de lignes -> 1 ligne = 1 minute

    MOI JE VEUX CA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    __________
    | STATUS |
    |________|
    | MARCHE |
    | ARRET  |  <-je veux compter
    | ARRET  |  <-je veux compter
    | ARRET  | <-je veux compter    = 3 
    | MARCHE | <- rien
    | MARCHE |  <- rien
    | ARRET  |   <- je veux compter
    | ARRET  |  <- je veux compter   = 2
    | MARCHE |  <- rien
    | ARRET  |  <- je veux compter   =1 
    | ....   |
    avec mon code pour le moment ça fait ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    __________
    | STATUS |
    |________|
    | MARCHE |
    | ARRET  |  <-je veux compter
    | ARRET  |  <-je veux compter
    | ARRET  | <-je veux compter    = 3 
    | MARCHE | <- rien
    | MARCHE |  <- rien
    | ARRET  |   <- je veux compter
    | ARRET  |  <- je veux compter   = 5
    | MARCHE |  <- rien
    | ARRET  |  <- je veux compter   =6
    | ....   |
    Là si vous comprenez pas , je peux plus rien pour vous

  9. #9
    Invité
    Invité(e)
    Par défaut
    1- Là, si tu ne vois pas qu'il faut réinitialiser le compteur (le remettre à zéro), on ne peut rien pour toi...

    2- Demande-toi si ça peut se faire en SQL (requête "spécifique") ou en PHP.

  10. #10
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    1- Là, si tu ne vois pas qu'il faut réinitialiser le compteur [I](le remettre à zéro)
    JUSTEMENT j'y ai pensé , sauf que je n'ai rien trouvé !!!!!!!

  11. #11
    Invité
    Invité(e)
    Par défaut
    1- Perso, je pense que ce sera plus facile (de parcourir ligne par ligne) en PHP.

    2- Ensuite, tu n'as pas dis ce que tu veux en faire, de ces comptes.
    Les afficher ? Où ?
    Si l'affichage n'est pas immédiat, il faut les enregistrer dans une variable/un array,...

    Bref : là encore, c'est à toi de pousser la réflexion plus loin.

  12. #12
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Perso, je pense que ce sera plus facile (de parcourir ligne par ligne) en PHP.
    c'est à dire ?

    Citation Envoyé par jreaux62;
    2- Ensuite, tu n'as pas dis ce que tu veux en faire, de ces comptes.
    Les afficher ? Où ?
    Si l'affichage n'est pas immédiat, il faut les enregistrer dans une variable/un array,...
    On fait les choses 1/1 , on verra après pour ça non ? si non je compte l'afficher dans un tableau.


    Si non pour remettre le compteur à zero je ne trouve rien sur internet , si ta des liens , ou des méthodes je suis preneur ,merci

  13. #13
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Août 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 40
    Par défaut
    je crois avoir compris a peu pret la demande ;
    perso j'ajouterais une colonne "LAST_ONLINE"

    quand tu fait tes inset :
    si "STATUS" est "MARCHE" tu laisse "LAST_ONLINE" vide

    si "STATUS" est "ARRET" tu va chercher la plus grande valeur du champs "TIMER" et tu l'inset dans "LAST_ONLINE".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT TIMER FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of' AND STATUS='MARCHE' DESC LIMIT 1;
    et pour calculer le temps d'arret tu as simplement a faire un TIMER - LAST_ONLINE

  14. #14
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Merci pour ton aide , mais je ne peut pas modifier la base de donnée , elle ne doit pas changer. :c

    Pour le moment j'ai fais ça :

    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
     
     
     
    if ($resultat1 = $mysqli->query("SELECT * FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of' AND STATUS='ARRET'"))
        {
     
     
    			$row_cnt2 = mysqli_num_rows($resultat1);
     
    			printf("Il y a %d lignes.\n", $row_cnt2);
     
    			mysqli_free_result($resultat1);
     
     
    			// $row_cnt2 =     
     
     
    			if(!empty($row_cnt2))
    			{
     
    				$row_cnt2 = 0;
     
    			}
     
     
     
     
    	}
    Mais je ne sais pas dans quoi stocker la donnée de la var $row_cnt2 avant de la remettre à zero , sachant qu'il y aura plusieurs valeurs et plusieurs renitialisation à zero
    alors dans quoi je pourrais stocker mes valeurs ?

  15. #15
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Août 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 40
    Par défaut
    après reflection je pense que déja la bonne question a se poser est : que veut tu compter/afficher et comment.

    si le champs "timer" est bien un timestamp
    deja la premiere chose qui me questionne est que dans ta premiere image l'enregistrement 312 et 313 on le meme timestamp.

    compter le nombre de ligne pour determiner un temps d'arret ,
    c'est un peu comme estimer le cap d'un bateau en fonction de l'age du capitaine

  16. #16
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Citation Envoyé par saveus Voir le message
    après reflection je pense que déja la bonne question a se poser est : que veut tu compter/afficher et comment.
    Je compte les lignes où dans la colonne "STATUS" la valeur est "ARRET"
    J'affiche dans un tableau , le nombre de lignes qui correspond à des minutes

    Code HTML : 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
     
    <table id="tableau2" summary="E">
      <thead>
        <CAPTION><h1> ERREURS</h1> </CAPTION>
    	<th scope="col">ID</th>
    	<th scope="col">DEBUT</th>
    	<th scope="col">TEMPS ARRET</th>
        <th scope="col">OF</th>
        <th scope="col">COMPTEUR</th>  
        <th scope="col">STATUT</th>
        <th scope="col">Voir les erreurs</th>
    	   </thead>
    		 <tfoot>
        <tr>
          <td colspan="11"> </td>
        </tr>
      </tfoot>
      <?php
    if ($result2 = $mysqli->query("SELECT * FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of' AND STATUS='ARRET' GROUP BY compteur ORDER BY ID")) {
        while ($row2 = $result2->fetch_array()) {
    //echo ';'.$row2[0];
    echo "<TD>" . $row2['ID'] . "</TD>";
    echo "<TD>" . date('d/m/Y -- H:i:s ', $row2['TIMER']) . "</TD>";
    echo "<TD>" . $row2['TEMPS'] . "</TD>";                                                  // <-  ICI !!!!!!!!!!
    echo "<TD>" . $row2['OF'] . "</TD>";
    echo "<TD>" . $row2['compteur'] . "</TD>";
    echo "<TD>" . $row2['STATUS'] . "</TD>";
    echo "<TD><a href='codeerror.php?ID=".$row2['ID']."' rel='external' data-role='button' data-mini='true' data-inline='true'>cliquez ici</a></td>";
    echo "</tr>";
    }
    }
    $mysqli->close(); // finally, close the connection ?>


    si le champs "timer" est bien un timestamp
    deja la premiere chose qui me questionne est que dans ta premiere image l'enregistrement 312 et 313 on le meme timestamp.

    compter le nombre de ligne pour determiner un temps d'arret ,
    c'est un peu comme estimer le cap d'un bateau en fonction de l'age du capitaine

    Je suis pas le créateur de la table , mais oui c'est un timestamp !
    Et si non tu te trompe car une ligne = 1 minute , car chaque minute l'automate ecris une ligne ( il me semble que c'est un truc du genre d'après mon tuteur , il est pas là jpeux pas lui poser la question , en tout cas 1 ligne = 1 minute c'est sûr !) si non j'aurais pas fait ça -_-

  17. #17
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Août 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 40
    Par défaut
    ci c'est un timestamp cest absurde de compter le nombre de ligne dans ce cas ;-)

  18. #18
    Invité
    Invité(e)
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of' ORDER BY TIMER ASC"

    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
    $compteur = array();
    $i = 0;
    while( $row.......)
    {
    	if( empty($compteur[$i]) )
    	{
    		$compteur[$i] = 0;
    	}
    	if( $row['STATUS'] == 'ARRET' )
    	{
    		$compteur[$i]++; // on incrémente
    	} else {
    		$i++; // on incrémente
    	}
    }
    var_dump( $compteur );
    Variante, en enregistrant aussi les timestamp de début et de fin :
    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
    $compteur = array();
    $i = 0;
    while( $row.......)
    {
    	if( empty($compteur[$i]) )
    	{
    		$compteur[$i]['minutes'] = 0;
    		$compteur[$i]['Timedebut'] = $row['TIMER'];
    		$compteur[$i]['Timefin'] = $row['TIMER'];
    	}
    	if( $row['STATUS'] == 'ARRET' )
    	{
    		$compteur[$i]['minutes']++; // on incrémente
    	} else {
    		$compteur[$i]['Timefin'] = $row['TIMER'];
    		$i++; // on incrémente
    	}
    }
    var_dump( $compteur );
    N.B. PAS TESTE.

  19. #19
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Citation Envoyé par saveus Voir le message
    ci c'est un timestamp cest absurde de compter le nombre de ligne dans ce cas ;-)
    Mon tuteur m'a dis d'utiliser la méthode de compter lignes par lignes sachant qu'une ligne = 1 minute.

    Voilà ce que j'ai :
    /var/www/STATS2/statdoseuseSIMA2.php:346:
    array (size=0)
    empty

    Code PHP : 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
     
     
    if ($resultat1 = $mysqli->query("SELECT * FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of' ORDER BY TIMER ASC"))
        {
    			$compteur2 = array();
    			$i = 0;
     
    while( $row= $result->fetch_array())
    {
    	if( empty($compteur2[$i]) )
    	{
    		$compteur2[$i]['minutes'] = 0;
    		$compteur2[$i]['Timedebut'] = $row['TIMER'];
    		$compteur2[$i]['Timefin'] = $row['TIMER'];
    	}
    	if( $row['STATUS'] == 'ARRET' )
    	{
    		$compteur2[$i]['minutes']++; // on incrémente
    	} else {
    		$compteur2[$i]['Timefin'] = $row['TIMER'];
    		$i++; // on incrémente
    	}
    }
    	}
    	var_dump( $compteur2 );

  20. #20
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Août 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 40
    Par défaut
    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
     
     
     
    $timestp="9999999999999999999999";
    $chaine_finale="";
    $offline_totale=0;
     
    while ($timestp > 1 ) 
        {
     
            $sql1 = $mysqli->query("SELECT * FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of'  AND TIMER < '$timestp' AND  STATUS ='ARRET' ORDER BY  TIMER DESC LIMIT  1;");
            $row1=mysqli_fetch_array($sql1);
            $cur_chaine= "<TR><TD>".$row1['ID']."</TD><TD>". $row1['TIMER']."</TD><TD>". $row1['OF']."</TD><TD>". $row1['compteur']."</TD>";
     
     
            $sql2 = $mysqli->query("SELECT TIMER FROM AUTOMATES.TIMERSIMA WHERE OF='$id_of'  AND TIMER < '".$row1['TIMER']."' AND  STATUS ='MARCHE' ORDER BY  TIMER DESC LIMIT  1;");
            $row2=mysqli_fetch_array($sql2);
            $offine_time_en_minute=$row1['TIMER'] - $row2['TIMER'];
            $offline_totale=$offline_totale+$offine_time_en_minute;
     
            $cur_chaine=$cur_chaine."<td>$offine_time_en_minute</td><TD><a href='codeerror.php?ID=".$row1['ID']."' rel='external' data-role='button' data-mini='true' data-inline='true'>cliquez ici</a></td></tr>";
            $chaine_finale=$chaine_finale.$cur_chaine;
     
     
            if ($row2['TIMER'] === NUll)
                {
                    $timestp=0;
                }
            else 
                {
                    $timestp=$row2['TIMER'];
                }
     
     
     
     
        }
    echo $chaine_finale;
    echo $offline_totale."<br>";

    pas testé non plus
    et j ai pas besoin de compter les ligne !!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [MySQL] Compter les enregistrements d'une table php 5.1.3 mysql 5.0
    Par dagor31 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/11/2013, 13h23
  2. Réponses: 2
    Dernier message: 15/09/2006, 12h18
  3. SQL : compter les champs d'une table
    Par Bboy dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/10/2005, 16h02
  4. Réponses: 4
    Dernier message: 11/10/2005, 15h03
  5. Compter les lignes d une <TABLE>
    Par Invité(e) dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/01/2005, 14h43

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