Bonjour tout le monde,
alors voilà mon problème, je souhaterais faire une requète mysql dans ce genre:
SELECT id FROM membres ORDER BY rang ASC
L'idée c'est de classer les membres par rang, jusque là OK
Le soucis c'est qu'après je fait un for($i=0;$i<nbr_enregistrement;$i++) et j'aimerai traiter d'abord les rang 1,2,3,n et à la fin seulement les rangs=0.
Soucis: mon ORDER BY rang ASC me colle les rang=0 en premier...
Comment faire donc pour traiter mes enregistrement par rang croissant mais rang 0 en dernier seulement???
# solutions betes ...
Posté par Mouns (site web personnel) . Évalué à 5.
genre : SELECT id FROM members WHERE rang > 0 ORDER BY rang ASC;
puis : SELECT id FROM members WHERE rang = 0;
cas 2 : en gérant une pile
version pseudo-PHP :
SELECT id FROM membres ORDER BY rang ASC
$rang_0 = array();
for( $i=0 ; $i < $nb_reg ; $i++ ) {
if ( $enregistrement["rang"] == 0 ) {
$rang_0[] = $enregistrement;
} else {
# cas general
}
}
foreach ( $rang_0 as $enregistrement ) {
# traitement rang 0
}
# IF
Posté par Twidi (site web personnel) . Évalué à 3.
Aide sur la fonction if :
http://dev.mysql.com/doc/refman/5.0/fr/control-flow-function(...)
[^] # Re: IF
Posté par Twidi (site web personnel) . Évalué à 9.
La bonne requête :
[^] # Re: IF
Posté par Uld (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.