Rang du resultat d'une requête

alb -  
teebo Messages postés 33570 Date d'inscription   Statut Modérateur 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

3 réponses

ofournier.cbd Messages postés 5862 Date d'inscription   Statut Membre Dernière intervention   84
 
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
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Arf, je peux meme te moderer quand tu dis que tu as modere :-D

ö,ö
\_/
0
Taboujr Messages postés 507 Statut Membre 117
 
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
0
paul
 
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 ?
0
Taboujr Messages postés 507 Statut Membre 117
 
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
0