ruicosta Posté 17 Mai 2004 Posté 17 Mai 2004 Bonjour a tous. j'ai une table id______noms_images_____date_____visites. le principe est simple c'est que mon programme insert pour telle date le nombre de visites et a chaque fois le nom de l'image. Pour bien vous expliquer mon probleme je vais mappuyer sur cet exemple. id_______noms_images_______date__________visites 1__________image1___________01-01-2001_______ 10 2__________image1___________01-01-2002_______ 20 3__________image60__________01-01-2003_______ 50 Supposons que j'ai les données suivantes . est ce que ca existe une requete ou autre chose pour recuperer le nombre de visites total d'une image (dans mon exemple je dois avoir : 30) ? merci d'avance.
Prélude Posté 17 Mai 2004 Posté 17 Mai 2004 Bonjour, J'y connais rien en SQL, mais la chose suivante semble être sympa : SELECT Count(MaTable.NbrVisites) AS Total, MaTable.Image, AS MonImageFROM MaTable; Tu rajoutes un ORDER BY et pis voilà... Non ?!
Vincent Posté 17 Mai 2004 Posté 17 Mai 2004 essaye cela : SELECT noms_images, count(*) from maTable group by noms_images
Anonymus Posté 17 Mai 2004 Posté 17 Mai 2004 Utilises sum, qui permet de faire des... sommes SELECT sum(visites) FROM table WHERE noms_images = "image1" AND date LIKE "01-01-2001" A+, Anonymus.
ruicosta Posté 17 Mai 2004 Auteur Posté 17 Mai 2004 SELECT sum(visites) FROM table WHERE noms_images = "image1" AND date LIKE "01-01-2001" j'ai essayé et apparament ca marche mais une question bete: comment faire pour recuperer le resultat ? merci
Vincent Posté 17 Mai 2004 Posté 17 Mai 2004 (modifié) desolé j'ai été derangé quand j'ai posté, je me suis apercu du non respect de la consigne en me relisant sinon je pense qu'il faut utiliser la clause GROUP BY pour ne faire qu'1 requete car si ruicosta a 60 images il devra faire 60 requetes avec la clause where qui evolue ! par contre pourquoi une clause sur la date? donc moi je ferais : SELECT noms_images, sum(visites)FROM tablegroup by noms_images cette requete doit donner pour chaque image la somme des visites edit : mysql_fetch_rows ou mysql_fetch_array (de tete pour la syntaxe) devraient t'aider a recuperer ton resultat. si tu n'as jamais fait, essaye de voir les aides sur www.phpdebutant.org Modifié 17 Mai 2004 par Vincent B
ruicosta Posté 17 Mai 2004 Auteur Posté 17 Mai 2004 Je me disais bien que c t une question bete pour la recuperation du resultat, enfin c t autre chose qui concerne un peu mon programme . sinon ca marche la requete et c grace a vous tous . merci encore une fois .
Anonymus Posté 17 Mai 2004 Posté 17 Mai 2004 Pour récupérer le résultat, tu peux faire quelque chose comme ca : $q="SELECT sum(visites) AS sommeFROM table WHERE noms_images = 'image1' AND date LIKE '01-01-2001'";$r = mysql_query($q,$link);while($row = mysql_fetch_array($r)){echo"Nombre de visites pour image1 au 01-01-2001 :".$row['0'];} Voilà, A+, Anonymus.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant