|
La Communauté Webmaster 
| Pages: [1] |
 |
|
|
|
Auteur |
Sujet: Requête MySQL en fonction de la date (Lu 792 fois) |
|
 |
Requête MySQL en fonction de la date
« sur: le 22-06-2006 a 15:04:55 » |
|
|
|
|
|
|
 |
Re:Requête MySQL en fonction de la date
« Répondre #1 sur: le 22-06-2006 a 20:52:15 » |
|
calenfeaion
Habitué
  
Hors-Ligne
Sexe: 
Messages: 269

|
Re
Bon, j'ai trouvé finallement, je préviens: la méthode est un peu lourde, mais je compte faire l'optimisation par après. Donc si vous avez des conseils pour alléger, je suis preneur 
En faite, le script est un compteur, et cette partie ce charge de l'affichage, donc, on peut sélectionner les visiteurs par période ( jour, mois et année )
La fonction renvoi alors sous forme d'un tableau : - Le nombre de visiteurs total pendant la période ( jour, mois et année ) - Le nombre de pages affichés pendant la période ( jour, mois et année ) - Le nombre de visiteurs connectés - Le nombre de visiteurs connectés sur la même page que l'internaute
function affiche_internaute($periode, $page_actuel) { # Cette fonction permet d'affiche les resultats se trouvant dans la base de # donnee. Elle rends possible l'affichage des stats par jour, mois, annee # avec les types comme affichage du nbrs de visiteur, pages, etc... global $erreurs; # Verifie que les parametres passe en argument sont correct if(!($periode == 'annee' || $periode == 'mois' || $periode == 'jour')) { return 'Les parametres ne sont pas correct !'; } else { // Les parametres sont ok, on continue # Adapte la requete MySQL a la periode desire switch($periode) { case 'jour': $periode_script = date('d/m/Y'); $periode_mysql = '%d/%m/%Y'; break; case 'mois': $periode_script = date('m/Y'); $periode_mysql = '%m/%Y'; break; case 'annee': $periode_script = date('Y'); $periode_mysql = '%Y'; break; } # Cree la requete MySQL de selection des visiteurs $rq_affiche = "SELECT page_actuel, nbrs_pages, duree FROM calen_visite2 WHERE DATE_FORMAT(date, '$periode_mysql')='$periode_script'"; # Connexion a la base de donne require('./Config/mysql_connect.php'); # Execution de la requete $result_affiche = mysql_query($rq_affiche); # Clos de la connexion mysql_close(); # Verification de la requete if(!($result_affiche)) { // La requete a foirer, on affiche un message $erreurs .= 'Erreur MySQL N003'; } else { // La requete est ok, on continue # Initialisation des variables $nbrs_pages = 0; $nbrs_connectes = 0; $nbrs_meme_pages = 0; # Calcul du nombre de visiteur(s) repondant a la requete $nbrs_visiteurs = mysql_num_rows($result_affiche); # Calcul des autres parametres while ($rows = mysql_fetch_assoc($result_affiche)){ # Ajout du nombre de page de l internaute au total $nbrs_pages = $nbrs_pages + $rows['nbrs_pages']; # Ajout du nombre de visiteur sur la meme page if($page_actuel == $rows['page_actuel']) { $nbrs_meme_pages = $nbrs_meme_pages +1; } # Calcul du nombre de visiteur connecte (300 sec) if(($temps_unix - $rows['duree']) < 300) { $nbrs_connectes = $nbrs_connectes +1; } } # Retourne toute les valeurs calculer global $calen_visite2; $calen_visite2=array( 'nbrs_visiteur'=>$nbrs_visiteurs, 'nbrs_pages'=>$nbrs_pages, 'nbrs_connecte'=>$nbrs_connectes, 'nbrs_meme_page'=>$nbrs_meme_pages, 'erreur'=>$erreur); } } }
|
|
Et la fonction réponds à par exemple : affiche_internaute('jour', $_SERVER['PHP_SELF']); print 'Nbrs pages: '.$calen_visite2['nbrs_pages'];
Et pour affiche les erreurs ( si on le désire) : print calen_visite2['erreur'];
Voilà voilà, Calen |
|
|
|
| Pages:
[1] |
|
|
|
| |
|
|