Tableau comptant le nombre d'impulsion par jour
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Tableau comptant le nombre d'impulsion par jour



  1. #1
    crocoscore

    Tableau comptant le nombre d'impulsion par jour


    ------

    Bonjour,
    Dans une base de donnée, j'ai une table dans laquelle sont stockée le timestamp des impulsions qui ont eu lieu sur un système réel. La table est de la forme :

    Code:
    CREATE TABLE pluviometre (
      id int(11) NOT NULL auto_increment,
      `time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      PRIMARY KEY  (id)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
    Sur une page PHP, je souhaite créer un tableau qui répertorie, jour par jour, le nombre d'impulsion depuis la première date enregistrer. Et ce, même si le nombre d'impulsion d'un jour est nul.

    Mon code :
    Code PHP:
    <?php
    $link 
    mysql_connect("*""*""*")
        or die(
    "Impossible de se connecter : " mysql_error());

    mysql_select_db("*");

    if (isset(
    $_GET['pulse']))
    {
        
    $result mysql_query("INSERT INTO pluviometre VALUES (NULL, CURRENT_TIMESTAMP)");
        if (!
    $result) {
            die(
    'Requête invalide : ' mysql_error());
        }
    }
    $compteur 0;
    $i=0;
    $jour 0;

    $result mysql_query("SELECT time FROM pluviometre");

    while (
    $row mysql_fetch_array($resultMYSQL_NUM))
    {
        
    $dateEntree date('d/m/Y'strtotime($row[0]));
        
        if (
    $dateEntree==date('d/m/Y'$dateDuDernier))
        {
            
    $pluvio[$dateEntree]++;
        }
        else
        {    
            if(
    $i==0)
            {
                
    $differenceDate 0;
            }
            else
            {
                
    $differenceDate =  strtotime($row[0]) - $dateDuDernier;
                
    $differenceDate =  abs($differenceDate 86400);
                
    $differenceDate floor($differenceDate);
                echo 
    "<h2>".$differenceDate."</h2>";
            }
            if(
    $differenceDate>=2)
            {
                for (
    $i=1$i<=$differenceDate$i++)
                {
                    if(
    $i == 1)
                    {
                        echo 
    "<strong>Nouveau</strong>";
                    }
                    
    $jour++;
                    
    $dateEntree2 date('d/m/Y', ($dateDuDernier 86400));
                    echo 
    $dateEntree2 '<br />';
                    
    $date[$jour] = $dateEntree2;
                    
    $pluvio[$dateEntree2] = 0;
                    
                    
    $dateDuDernier strtotime($dateEntree2);
                }
            }
            
            
    $jour++;
            
    $date[$jour] = $dateEntree;
            
    $pluvio[$dateEntree] = 1;
        }
        
        
    $dateDuDernier strtotime($row[0]);
        
        
    //compter nombre d'ex
        
    $i++;
    }

    mysql_free_result($result);

    mysql_close($link);
    ?>
    <!DOCTYPE html>
    <html lang="fr">
        <head>
          <meta charset="utf-8" />
          <title>Arduino sensor</title>
        </head>
        <body>
            <h1>Impulsions enregistrées</h1>
            <table>
                <?php
                
    for ($i1$i <= $jour$i++)
                {
                
    ?>
                    <tr>
                            <td>Date : <?php echo $date[$i];?></td>
                            <td>Compteur : <?php echo $pluvio[$date[$i]];?></td>
                    </tr>
                <?php
                
    }
                
    ?>
            </table>
        </body>
    </html>
    J'avais réussi à lister les jours et leurs compteur mais pour l'instant je bloque à la création des entrées des jours vides. Actuellement, cette page de code affiche un décalage entre les jours.

    -----
    Dernière modification par JPL ; 27/03/2013 à 22h22.

  2. #2
    crocoscore

    Re : Tableau comptant le nombre d'impulsion par jour

    J'ai clarifié un peu le code mais cela ne fonctionne toujours pas super :
    Code PHP:
    $compteur 0;
    $i=0;
    $jour 0;
    $pluvio = array();

    $result mysql_query("SELECT time FROM pluviometre");

    while (
    $row mysql_fetch_array($resultMYSQL_NUM))
    {
        
    $dateEntree strtotime($row[0]);
        
        
    $differenceJour floor(($dateEntree $dateDernier)/86400);
        
        if(
    $i==0)
        {
            
    $pluvio[$i]= array((date('d/m/Y'$dateEntree)), 1);
        }
        elseif(
    $differenceJour<2)
        {
            
    $i--;
            
    $pluvio[$i]= array((date('d/m/Y'$dateEntree)), $compteur+1);
            
    $compteur++;
            echo 
    $compteur ."<br />";
        }
        else
        {
            
    $compteur =0;
            for(
    $j 1$j <= $differenceJour$j++)
            {
                
    $dateVide $dateDernier 86400;
                
                
    $pluvio[$i] = array((date('d/m/Y'$dateVide)), 0);
                
                
    $dateDernier $dateVide;
                
                
    $i++;
            }
            
            
    $pluvio[$i]= array((date('d/m/Y'$dateEntree)), 1);
        }
        
        
        
    $dateDernier $dateEntree;
        
        
    //compter nombre d'ex
        
    $i++;
    }

    mysql_free_result($result);

    mysql_close($link); 

  3. #3
    crocoscore

    Re : Tableau comptant le nombre d'impulsion par jour

    Problème résolu. Voici le code complet si ça peut intéresser.
    Code PHP:
    <?php
    $link 
    mysql_connect("*""*""*")
        or die(
    "Impossible de se connecter : " mysql_error());

    mysql_select_db("*");

    if (isset(
    $_GET['pulse']))
    {
        
    $result mysql_query("INSERT INTO pluviometre VALUES (NULL, CURRENT_TIMESTAMP)");
        if (!
    $result) {
            die(
    'Requête invalide : ' mysql_error());
        }
    }
    $compteur 0;
    $i=0;
    $jour 0;
    $pluvio = array();

    $result mysql_query("SELECT time FROM pluviometre");

    while (
    $row mysql_fetch_array($resultMYSQL_NUM))
    {
        
    $dateEntree strtotime($row[0]);
        
        
    $differenceJour floor(($dateEntree $dateDernier)/86400);
        echo 
    $differenceJour "<br />";
        if(
    $i==0)
        {
            
    $pluvio[$i]= array((date('d/m/Y'$dateEntree)), 1);
            
    $compteur++;
        }
        elseif(
    $differenceJour==0)
        {
            
    $i--;
            
    $pluvio[$i]= array((date('d/m/Y'$dateEntree)), $compteur+1);
            
    $compteur++;
        }
        else
        {
            
    $compteur 0;
            for(
    $j 1$j $differenceJour$j++)
            {
                
    $dateVide $dateDernier 86400;
                
                
    $pluvio[$i] = array((date('d/m/Y'$dateVide)), 0);
                
                
    $dateDernier $dateVide;
                
                
    $i++;
            }
            
            
    $pluvio[$i]= array((date('d/m/Y'$dateEntree)), 1);
            
    $compteur++;
        }
        
        
        
    $dateDernier $dateEntree;
        
        
    //compter nombre d'ex
        
    $i++;
    }

    mysql_free_result($result);

    mysql_close($link);
    ?>
    <!DOCTYPE html>
    <html lang="fr">
        <head>
          <meta charset="utf-8" />
          <title>Arduino sensor</title>
        </head>
        <body>
        <?php
        print_r
    ($pluvio);
        
    ?>
            <h1>Impulsions enregistrées</h1>
            <table>
                <?php
                
    for ($j0$j $i$j++)
                {
                
    ?>
                    <tr>
                            <td>Date : <?php echo $pluvio[$j][0];?></td>
                            <td>Compteur : <?php echo $pluvio[$j][1];?></td>
                    </tr>
                <?php
                
    }
                
                
    ?>
            </table>
        </body>
    </html>

  4. #4
    JPL
    Responsable des forums

    Re : Tableau comptant le nombre d'impulsion par jour

    Merci.

    Je transfère dans le forum programmation.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Duré d'impulsion détectable par un pic
    Par hissokaaaa dans le forum Électronique
    Réponses: 3
    Dernier message: 14/05/2010, 10h43
  2. Mettre à jour un tableau excel
    Par invitec77c6797 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 13/11/2009, 10h39
  3. Nouveaux ici et comptant sur vos lumières
    Par invited70b4195 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 21
    Dernier message: 05/10/2009, 09h05