Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/03/2011, 21h20   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 8
Points : 1
Points : 1
Par défaut Mettre les résultats d'une boucle dans un tableau

Bonsoir,

Je souhaite afficher les 3 pages les mieux notés. Voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
include('./connexion.php');
		$nb_vote="SELECT *, COUNT(*) AS vote, Sum(note_vote) as notes FROM vote, tortue WHERE tortue.ID_TORTUE = vote.ID_TORTUE GROUP BY tortue.ID_TORTUE LIMIT 0,3";
		$req_nb_vote=mysql_query($nb_vote); 
		while ($tab_nb_vote=mysql_fetch_assoc($req_nb_vote))
		{
	   		<blockquote>/*echo 'Nbe de votants :'.*/$total_vote = $tab_nb_vote['vote']. ' '; // on recupere le nbe de votants
			/*echo 'Total :'.*/$total = $tab_nb_vote['notes'].' '; // on recupere le total des notes
			/*echo 'Resultat: '.*/$resultat = ($total / $total_vote).' ';
			echo '<tr><td style="padding:10px 0 0 0px;">';
			echo '<a target="_blank" href="index.php?p=page_tortue&r='.$tab_nb_vote['ID_TORTUE'].'">'.$tab_nb_vote['surnom'].$resultat.'</a>';
			echo '</td></tr>';</blockquote>		}
donc là cela m'affiche bien les 3 premiers avec le bon résultat juste à côté mais comme vous vous en doutez, pas dans le bon ordre.

on m'a dit de mettre les résultats ($resultat) dans un tableau puis de faire un trie dans ce dernier...et là je bloque.

pouvez-vous m'éclairer ?

merci d'avance
TuNi54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 21h35   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Un simple ORDER dans ta requete non ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 21h38   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 8
Points : 1
Points : 1
Citation:
Envoyé par sabotage Voir le message
Un simple ORDER dans ta requete non ?
Non car $resultat je le calcul dans la boucle donc ORDER BY $resultat DESC ne va pas
TuNi54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 21h42   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ca ne serait pas une moyenne que tu calcules ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 21h44   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 8
Points : 1
Points : 1
Citation:
Envoyé par sabotage Voir le message
Ca ne serait pas une moyenne que tu calcules ?
si, je prends le total des notes et je le divise par le nombre de votants ce qui donne la moyenne pour chaque page ($resultat).
TuNi54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 22h15   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Fais cette moyenne directement dans la requête alors.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 10h37   #7
Invité de passage
 
Inscription : janvier 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 8
Points : 1
Points : 1
Citation:
Envoyé par sabotage Voir le message
Fais cette moyenne directement dans la requête alors.
comment faire étant donné que j'ai un sum et un count dans cette requete ?
TuNi54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 10h54   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
La somme divisé par le nombre de vote, c'est une moyenne.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h02   #9
Invité de passage
 
Inscription : janvier 2011
Messages : 8
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 8
Points : 1
Points : 1
Citation:
Envoyé par sabotage Voir le message
La somme divisé par le nombre de vote, c'est une moyenne.
ouais c'est vrai je me suis cassé la tête pour rien...une fois de plus

en tout cas merci.

je met le code pour ceux que ça intéresse :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
	$nb_vote="SELECT *, AVG(note_vote) AS moyenne FROM vote, tortue WHERE tortue.ID_TORTUE = vote.ID_TORTUE GROUP BY tortue.ID_TORTUE ORDER BY moyenne DESC";
		$req_nb_vote=mysql_query($nb_vote); 
		while ($tab_nb_vote=mysql_fetch_assoc($req_nb_vote))
		{
 
			echo '<tr><td style="padding:10px 0 0 0px;">';
			echo '<a target="_blank" href="index.php?p=page_tortue&r='.$tab_nb_vote['ID_TORTUE'].'">'.$tab_nb_vote['surnom'].$tab_nb_vote['moyenne'].'</a>';
			echo '</td></tr>';
 
		}
a++++++
TuNi54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h58.


 
 
 
 
Partenaires

Hébergement Web