Rang du resultat d'une requête
alb
-
teebo Messages postés 33585 Date d'inscription Statut Contributeur Dernière intervention -
teebo Messages postés 33585 Date d'inscription Statut Contributeur Dernière intervention -
bonjour
php mysql :
quelle fonction permet de dire à quel numéro de ligne se trouve un resultat ? Ainsi si j'affiche les 25 premiers résultats d'une requete, comment faire apparaitre à coté de chacun 1,2,3,4.....25 ??????
merci
php mysql :
quelle fonction permet de dire à quel numéro de ligne se trouve un resultat ? Ainsi si j'affiche les 25 premiers résultats d'une requete, comment faire apparaitre à coté de chacun 1,2,3,4.....25 ??????
merci
3 réponses
-
Et v'là du ménage. Tout excusé, notre base est hyper lente, un calvaire.
Pas sûr d'une réponse donc je m'abstiens ...
OFou Fox-terrier très bisous très teigneux -
Je pense que la réponse au message ci-dessous devrait te suffire.
http://www.commentcamarche.net/forum/affich.php3?cat=3&ID=146852&page=1
Si ce n'est pas le cas, merci de préciser ta question.
Tabou Junior-
Bon je suis intéréssé aussi et je pige rien de
http://www.commentcamarche.net/forum/affich.php3?cat=3&ID=146852&page=1
comment on peut savoir quel est le classement de la ligne qui contient le truc qu'on cherche ?
exemple : une table classe les salariés d'une boite par nom :
quel est le classement de dupont dans la requete qui trie les noms par ordre alphabétique ?
arnaud
bernard
dupont
bref, comment obtenir 3 en cherchant la position de dupont !
Est ce clair ?
-
-
Pour savoir le classement d'une ligne dans une requête, voilà mon idée :
on lance la requête, et dans une boucle while, on verifie si chaque enregistrement correspond àla condition (ici nom=='Dupont'). Si la réponse est oui, on tient le bonhomm, sinon, on incrémente un compteur. Je te met ci-dessous le code un peu plus détaillé que dans l'autre message. Attention toutefois, ça risque d'être très long !!
// On effectue la requête et on compte le nb d'enregistrements
$req=mysql_query("SELECT nom FROM table WHERE /cond/ ORDER BY nom ASC");
$res=mysql_num_rows($req);
$i=0;
// tant qu'on a pas dépassé lenb d'enregistrement
while ($i<=$res) {
// on récupère le nom depuis la requête
$nom = mysql_result($req,$i,"nom");
// si il est différent de la valeur recherché, on continue la boucle
if ($nom!='dupont') { $i++; }
// sinon, on note le rang dans $rang
// et on renvoie une valeur de $i qui fera sortir de la boucle
else {
$rang=$i+1;
$i=$res+1; }
}
echo 'Le rang de dupont dans la table est '.$rang.'<br>';
Ceci sous réserve de fautes de frappes, bien sûr...
En éspérant que cela pourra aider.
Tabou Junior