compteur

allweb13
Invité n'ayant pas de compte PHPfrance

03 juil. 2006, 08:55

Bonjour

J'ai mis en place un compteur pendant le mois de juin sur ma page d'accueil qui fonctionnait très bien. ET puis depuis le 1er juillet patatra.

Code : Tout sélectionner

$jour=date("j:m:y"); $sql="SELECT DISTINCT date,cp_index FROM compteur order by date DESC limit 0,1"; $req=mysql_query($sql); While($ligne=mysql_fetch_array($req)) {$date=$ligne['date']; if ($jour==$ligne['date']){mysql_query("UPDATE compteur SET cp_index=cp_index+1 WHERE date='$jour'");} else {mysql_query("INSERT INTO compteur (date,cp_index) VALUES('$jour','1')");} }
En fait je n'ai plus de cumul maais chaque hit fait l'objet d'une nouvelle ligne avec la valeurt de compteur à 1

Merci de votre aide

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 juil. 2006, 12:20

Le problème vient à mon avis du fait que tu dois utiliser un champ varchar et pas un champ date pour stocker tes dates... Par conséquent, l'ordre que tu obtiens quand tu fais le order by n'est pas chronologique mais alphabétique (décroissant) :

Code : Tout sélectionner

02:06:2006 01:07:2006 01:06:2006
au lieu de

Code : Tout sélectionner

2006-07-01 2006-06-02 2006-06-01
Le 2 juin se retrouve ainsi classé avant le premier juillet, donc la comparaison avec la date du jour est fausse et il fait une nouvel insertion.

Invité
Invité n'ayant pas de compte PHPfrance

04 juil. 2006, 12:19

C'était bien ça !

Grand merci