Rang du resultat d'une requête

alb -  
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

3 réponses

  1. 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
    1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      Arf, je peux meme te moderer quand tu dis que tu as modere :-D

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