|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
Bonjour
je fais une requete sur une table pour calculer le nombre de personnes inscrite a un événement, ca calcule très bien, mais ensuite je ne vois pas comment faire pour trier les résultat du plus grand au plus petit par exemple au niveau du résultat Code :
quelqu'un aurait il une idée s'il vous plait ? |
||
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Mélanie Inscription : novembre 2008 Messages : 275 ![]() |
Code :
|
||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
ca retourne bien un resultat, mais pas le bon, le calcul deviens faux..
Code :
$sql = "SELECT SUM(nombre) as masomme FROM inscriptevent WHERE id_event = '$id_event' GROUP BY nombre ORDER BY masomme ASC"; |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Mélanie Inscription : novembre 2008 Messages : 275 ![]() |
Hum, bizarre car je viens de le faire sur une de mes bases, et elle fonctionne, je te files un lien qui pourra peut être t'aider :
http://stackoverflow.com/questions/1...a-sum-in-mysql |
|
|
00
|
|
|
#5 | ||
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
est-ce que ca peux venir du fait que ce soit dans une boucle ?
je met toute la page pour avoir une vue d'ensemble : Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Mélanie Inscription : novembre 2008 Messages : 275 ![]() |
Explique nous, ce que fais ton code et plus précisément ta requête
|
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
la premiere va selectionner tous les evenement de type publique ou privé, la seconde sert a calculer pour chaque evenement le nombre d'inscrit..
|
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Mélanie Inscription : novembre 2008 Messages : 275 ![]() |
Et tu ne peux pas faire qu'une seule requête ?
As-tu un lien entre la table event et inscripevent ? |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
oui l'id_event est le meme
|
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Mélanie Inscription : novembre 2008 Messages : 275 ![]() |
Je pense que tu devrais faire sa en une seule requête, qui te permettra de calculer le nombre d'inscrit pour chaque évènement public ou privé.
|
|
|
00
|
|
|
#11 | ||
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
heu oui mais la...
Code :
mais le SUM je le colle comment la dedans ? |
||
|
|
00
|
|
|
#12 |
|
Membre actif
![]() Mélanie Inscription : novembre 2008 Messages : 275 ![]() |
Dans ton select.
Tu compte le nombre d'inscrit pour tous les évènements qu'il soit privé ou public. Donc il te manque une condition (public ou privé) Ensuite il te manque ta jointure entre les deux tables. Et à mon avis dans ton select il ne doit pas connaitre ton "t1" et ton "t2" étant donné que tu le met dans ton from |
|
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
bon j'ai essayer dans tous les sens toute la matinée..
rien a faire ..... dès que je veux coller SUM dedans ca foire.. |
|
|
00
|
|
|
#14 |
|
Membre actif
![]() Mélanie Inscription : novembre 2008 Messages : 275 ![]() |
Montre ta requête
|
|
|
00
|
|
|
#15 | ||||||
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Si je reprends ta requête originale:
Code :
Code :
Si tu veux imbriquer tes deux requêtes, tu peux essayer un truc du genre: Code :
|
||||||
|
|
00
|
|
|
#16 | ||
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
quand je fais ca :
Code :
|
||
|
|
00
|
|
|
#17 | ||
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Bon, de nouveau moi... j'ai mieux regardé le problème et je crois que cette solution serait plus appropriée:
Code :
En espérant que cette fois-ci sera la bonne, bonne chance |
||
|
|
00
|
|
|
#18 | ||
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
alors la.. je ne comprends pas la requete
Code :
|
||
|
|
00
|
|
|
#19 | ||
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Essentiellement, on fait un SELECT sur un autre SELECT (d'où le terme de requête imbriquée).
Le premier SELECT externe, soit SELECT count(nombre) va aller puiser ses données dans le résultat de la requête interne, soit SELECT * FROM event à la place d'une table normale. Cependant, comme la requête interne n'a pas de nom officiel, il faut lui donner un alias afin que la requête externe puisse y faire référence, d'où le "AS tblCeQueTuVeux" qui permet ultimement de dire qu'on est en train de faire référence aux champs de la requête interne grâce à la syntaxe tblCeQueTuVeux.champQuelconque De plus, sur ta requête, tu as un petit problème avec la requête interne. Cette ligne: Code :
(SELECT * FROM event WHERE etat = 'publique' OR etat = 'prive') AS $id_event on inscriptevent.id_event = $id_event) as $id_event Code :
Bon, je crois que c'est tout. Si tu as d'autres questions, n'hésite pas |
||
|
|
00
|
|
|
#20 | ||
|
Futur Membre du Club
![]() Inscription : mai 2009 Messages : 224 ![]() |
donc on résume :
j'ajoute un nom de table inexistant pour creer ma requete ce qui donne : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com