Un probleme dans ma source pour afficher une table

Résolu
jbtv Messages postés 126 Date d'inscription vendredi 25 novembre 2011 Statut Membre Dernière intervention 4 avril 2013 - 11 juin 2012 à 21:01
 rahim - 20 avril 2014 à 20:29
bonsoir a tous !

j'ai creer dernierement une page de stat de mon site et il fonctionne apparament corectement a se que je vois sauf qu'une erreur s'affiche
Notice: Undefined index: 16 in C:\wamp\www\admin\stat\jour.php on line 109


94. // on déclare un tableau ($visite_par_heure) qui aura 24 clés : de 0 à 23, chaque élément du tableau contiendra le nombre de pages vues pendant une tranche horaire (à la clé 0, on aura le nombre de pages vues entre 00:00 et 00:59:59)
95.    $visite_par_heure = array();  
96.     
97.    $sql = 'SELECT date FROM statistiques WHERE date LIKE "'.$date_jour.'%" ORDER BY date ASC';  
98.    $result = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());  
99.    while ($data = mysql_fetch_array($result)) { 
100.       $date=$data['date']; 
101.     
102.       sscanf($date, "%4s-%2s-%2s %2s:%2s:%2s", $date_Y, $date_m, $date_d, $date_H, $date_i, $date_s); 
103.     
104.       if ($date_H < "10"){ 
105.          $date_H = substr($date_H, -1); 
106.       } 
107.     
108.       $visite_par_heure[$date_H] = $visite_par_heure[$date_H]+1;  
109.    }  
110.    $total_pages_vu = mysql_num_rows($result);  
111.    mysql_free_result($result);  
112.     
113.    sscanf($date_jour, "%4s-%2s-%2s %2s:%2s:%2s", $date_Y, $date_m, $date_d, $date_H, $date_i, $date_s);  
114.     
115.    // on affiche le nombre de pages vues en fonction des tranches horaires
116.    echo '
<table width="25%"><caption>Les statistiques du '.$date_d.'/'.$date_m.'/'.$date_Y.' : </caption><tr><td width="100%">';  
     
    for($i = 1; $i <= 24; $i++) { 
       $j = $i-1; 
       if (!isset($visite_par_heure[$j])) { 
          echo $j.'H - '.$i.'H : 0 page vue
'; 
       } 
       else { 
          echo $j.'H - '.$i.'H : '.$visite_par_heure[$j].' pages vues
'; 
       }  
    }  

Malgrer l'erreur qui s'affiche sa fonctionne sans probleme mais sa serai mieu san ^^

merci d'avance pour votre aide !!!

3 réponses

abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
12 juin 2012 à 14:26
Peut être qu'avec le code suivant l'erreur ne s'affichera plus:

$visite_par_heure[$date_H] = isset($visite_par_heure[$date_H]) ? $visite_par_heure[$date_H]+1 : 1;
3
merci mon problem est resolue
0
Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 2
12 juin 2012 à 12:02
Bonjour,

Réponse rapide, mais pas sur que ce soit ça :

Je dirai que pour $date_H = 16 tu n'as pas d'enregistrement, et donc pas d'index 16.
Le mieux c'est encore d'initialiser ton array, étant donné que tu sais combien d'éléments il contiendra.



Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
0
jbtv Messages postés 126 Date d'inscription vendredi 25 novembre 2011 Statut Membre Dernière intervention 4 avril 2013
13 juin 2012 à 18:06
nikel merci abdoulax
0
Rejoignez-nous