La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Requête MySQL en fonction de la date
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  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 »
calenfeaion
Habitué
***

Hors-Ligne

Sexe: Male
Messages: 269





Voir le Profil    WWW
Répondre avec citation

Bonjour à tous,

J'ai un problème qui pour une fois n'est pas une erreur quelconque mais plutôt sur la manière de si prendre.

Je m'explique :
En faite, j'aimerais sélectionner des entrées dans ma base de données en fonction de leur date, par exemple, sélectionné toutes les entrées qui date d'aujourd'hui, de ce mois-ci, ou de cette année.

Le tout serais dans une fonction qui s'utiliserais comme ceci :
requete_en_fonction_de('mois');

Auriez-vous une idée de comment si prendre ?

Voilà, j'espere avoir été assez clair,
Calen

EDIT: Faute ortho + question

« Dernière Édition: le 22-06-2006 a 15:06:09 par calenfeaion » Rapporter au modérateur  

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: Male
Messages: 269





Voir le Profil    WWW
Répondre avec citation

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

Code:

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

Rapporter au modérateur  

Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg