Rang du resultat d'une requête

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

  1. 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
    1. Contributeur
      Arf, je peux meme te moderer quand tu dis que tu as modere :-D

      ö,ö
      \_/
      0
  2. 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
    1. 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
  3. 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