stats

Répondre
Keika
le 07/03/2007 à 06:23
Keika
Salut,

aujourd'hui j'ai une notice ! J'essaye actuellement le scripts de statistique donne dans le Comment faire et voila que lorsque je l'execute la page stat_jour.php m'affiche ceci:

Notice: Undefined index: 3 in H:AppsPortableFVPAserverwwwsiteadminstat_jour.php on line 98


La ligne 98 pour moi fait partie de ce morceau de code :

// on declare un tableau ($visite_par_heure) qui aura 24 cles : de 0 a 23, chaque element du tableau contiendra le nombre de pages vues pendant une tranche horaire (a la cle 0, on aura le nombre de pages vues entre 00:00 et 00:59:59)
$visite_par_heure = array();

$sql = 'SELECT date FROM statistiques WHERE date LIKE "'.$date_jour.'%" ORDER BY date ASC';
$result = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
while ($data = mysql_fetch_array($result)) {
$date=$data['date'];

sscanf($date, "%4s-%2s-%2s %2s:%2s:%2s", $date_Y, $date_m, $date_d, $date_H, $date_i, $date_s);

if ($date_H < "10"){
$date_H = substr($date_H, -1);
}

$visite_par_heure[$date_H] = $visite_par_heure[$date_H] +1 ;
}
$total_pages_vu = mysql_num_rows($result);
mysql_free_result($result);


Et il s'agit donc de la ligne:

$visite_par_heure[$date_H] = $visite_par_heure[$date_H] +1 ;


Alors j'ai fait mes recherches, parceque je ne comprenais pas l'action de substr, cependant je n'ai pas trouve pourquoi j'ai cette notice.
3 correspond a l'heure a laquelle j'ai fait mes visites, et maintenant qu'il est 4h j'ai une seconde notice avec index : 4...
Cependant le script fonctionne, j'ai bien le bon nombre de page visite et tout, seulement les notices apparaissent

Merci d'avance.

K.


PS: ca me fait la meme notice au meme endroit de code dans les pages pour les stats de mois et d'annee...
Le PHP --> C'est dur !
red9
le 07/03/2007 à 07:23
red9
slut,
A mon avis, ton problème c'est pas bien grave! car je crois que le notice vient du fait que tu n'as pas déclaré la clé $date_H tout simplement. T'as mis juste comme déclaration: $visite_par_heure = array(); et donc php ne sais pas d'où vient la clé $date_H d'où la notice! Tu peux essayer d'annuler temporairement l'affichage des notices pour la ligne 98 en mettant un @ avant la variable:
@$visite_par_heure[$date_H] = @$visite_par_heure[$date_H] +1 ;
LA GLOBULE
le 07/03/2007 à 10:05
LA GLOBULE
Le @ c'est pas joli.

if (!isset($visite_par_heure[$date_H])) $visite_par_heure[$date_H] = 1;
else $visite_par_heure[$date_H] = $visite_par_heure[$date_H] +1 ;
jocker
le 07/03/2007 à 12:04
jocker
soit tu définis ta variable avant voila ou alors tu n'affiches pas les notices (la config par défaut de PHP n'affiche pas les notices d'ailleurs). Si tu es sur easyphp tu peux aussi modifier directement ton php.ini

//pour certains hébergeurs
@error_reporting(E_ALL ^ E_NOTICE);

++
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours