Statistiques sur les visites d'1 site - Fct count / num_rows

Eléphanteau du PHP | 24 Messages

10 févr. 2007, 17:55

Je planche bêtement sur ce problème de toute la journée déjà... HELP !!!

J'ai une table (Visites) très basique (3 champs) destinée à suivre les connexions sur mon site :
Dates, IP, Pages visitées.

Je voudrais mettre en place une requête PHP permettant de calculer les connexions par journées.

J'ai bien réussi en faisant une liste de requêtes de type :
echo "Nombre de pages vues (par exemple) avant-hier : " . mysql_num_rows(mysql_query("SELECT page FROM `Visites` WHERE TO_DAYS(NOW()) - TO_DAYS(date) = 2")) ."<p>";
mais je sens bien qu'il y a mieux comme solution !

J'ai donc essayé la formule
$requete = "SELECT count(*) FROM `Visites` group by `date`";
$resultat = mysql_query( $requete );
Mais c'est là que je coince...
Je n'arrive pas à afficher les resultats sous forme de liste du type :
date : Qté
date1 : 100
date2 : 115
date3 : 075

Un p'tit coup de main m'sieurs dames ???

Mammouth du PHP | 19672 Messages

10 févr. 2007, 23:12

D'après ce que je peux comprendre, tu as une colonne nommée "date" : mauvaise idée, c'est un mot réservé en SQL.

Ceci dit, ce détail mis à part, quel résultat obtiens-tu avec ta dernière proposition ? Ce que tu as essayé n'est pas mauvais techniquement... je proposerais quelque chose comme ceci :
$requete = "SELECT `date`, count(*) AS nombre ".
           "FROM `Visites` ".
           "GROUP BY `date`";
$resultat = mysql_query( $requete );
?>
<table summary="">
  <tr>
    <th>Le</th>
    <th>Nombre de visites</th>
  </tr>
<?php
while(false != ($ligne = mysql_fetch_assoc($resultat)))
{
?>
  <tr>
    <td><?php echo($ligne['date']); ?></td>
    <td><?php echo($ligne['nombre']); ?></td>
  </tr>
<?php
} 
?>
</table>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: