Votre question

PHP MYSQL et RANG

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
14 Juin 2006 20:06:53

Existe-t- il une fonction rang PHP Mysql, qui renvoie le classement d'une ligne dans un tableau.

Exemple : classement Desc des pays en fonction de la valeur numérique ci dessous :

J'ai :

Belgique 36
Suisse 30
Angleterre 28.

Moi je voudrais afficher

1 Belgique 36
2 Suisse 30
3 Angleterre 28.

???

Autres pages sur : php mysql rang

a c 145 L Programmation
14 Juin 2006 20:40:21

en faisant un "SELECT * FROM table ORDER BY rang DESC" tu as ton classement.
14 Juin 2006 20:44:53

Oui, mais j'utilise Dreamweaver MX car je m'y connais pas en langage php...
Je fais ma requête comme tu dis et la fait apparaître dans un tableau dynamique, mais je ne sais pas comment créer une colonne dans ce tableau qui indique le rang : 1er, 2è, 3e etc... (comme dans Excel avec la fonction Rang).

Est-ce possible ?
Contenus similaires
a c 145 L Programmation
14 Juin 2006 20:54:46

Je ne sais pas du tout comment DW gére ça, mais en code à la main, voila ce que ça donne:
  1. <?
  2. $req = "SELECT pays, rang FROM table ORDER BY rang DESC";
  3. $sql = mysql_query($req);
  4. $tableau = "<table>\n<tr><th>N°</th><th>Pays</th><th>Rang</th></tr>\n";
  5. $i = 0;
  6. while (list($pays, $rang) = mysql_fetch_row($req)) {
  7. $i++;
  8. $tableau .= "<tr><td>$i</td><td>$pays</td><td>$rang</td></tr>\n";
  9. }
  10. $tableau .= "</table>\n";
  11. echo $tableau;
  12. ?>
14 Juin 2006 21:02:01

Alors peux-tu jeter un oeil à cette pag web :
http://membres.lycos.fr/jeremysql/equipedefrance/advers...

Voilà mon classement, par nombre de matches Desc.
Dans ma base de donnees, il n'y a pas de colonne Rang. Je ne sais comment en créer une qui soit dynamique, tenant compte de chaque nouvel enregistrement d'adversaire affronté, ce qui fait varier ce classement

a c 145 L Programmation
14 Juin 2006 21:04:16

remplace rang par le champ que tu veux utiliser pour trier.

Pour info: je ne donne pas de solution toute faite, je vous donne les moyens de trouver la solution...
14 Juin 2006 21:13:01

salu. Effectivement, il est possible de faire ce que tu dit, mais pas a l'aide d'une fonction, mais d'une requete sql.

imaginons que ta table s'appel site,et qu'lle soit à 2 champs: pays, habitants;

la requete sql seras donc :

$reponse = mysql_query("SELECT * FROM site ORDER BY habitants DESC");

//ici tu va afficher le resultat de ta requete

while ($donnees = mysql_fetch_array($reponse) )
{

echo $donnees['pays'], $donnees['habitants']
}

voila, j'espere que je t'ai un peu debloqué. Sur ce, a+

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS