afficher les numéro d'odre d'apparition

Eléphant du PHP | 127 Messages

29 juin 2006, 14:56

Bonjour à tous.
j'ai un probleme:
Si j'ai le champ d'une table qui contient des nombres et que j'affiche ces nombres du plus élevé au moins élevé.
Comment je fais pour afficher le numero de leur ordre d'apparition sur mon site?

exemple : 10 correspond au numéro 1
9 au numéro 2
8 au numéro 3......
J'espere que j'ai été claire merci :D .

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

29 juin 2006, 15:26

Tu dois d'abord extraire la liste des nombres classés par ordre décroissant en suite dans la boucle de lecture du résultat de la requête, sous PHP, tu utilise un compteur $i qui représente l'odre d'apparition.

Supposons que la requête est la suivante :

Code : Tout sélectionner

SELECT n FROM `nombre` ORDER BY n DESC
Ecrit le programme PHP qui exécute cette requête, lit son résultat par une boucle et affiche un nombre n rencontré ainsi que sa position (un compteur $i)
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 127 Messages

29 juin 2006, 16:12

je ne comprend pas comment je dois utiliser le conteur $i désolé.
Je ne dois pas définir cette fonction avant?

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

29 juin 2006, 16:14

Comptes-tu programmer avec du PHP?
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 127 Messages

29 juin 2006, 16:19

oui il y a beaucoup de php sur mon site

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

29 juin 2006, 16:30

Un compteur peut être réalisé par une boucle.
Exemple:
$i = 1; //début du compteur

//Boucle while qui répéte ce qui est entre {...} tant que $i <=10
//Et donc 10 fois
while ($i <= 10){
   //afficher le compteur 
   echo $i;
   
   //avancer le compteur
   $i++; //augmente de +1
}//fin while
ou bien
//Boucle for qui répéte ce qui est entre {...} de $i =1 à 10 en avançant de +1
//Et donc 10 fois
for ($i=1; $i <= 10; $i++){
   //afficher le compteur 
   echo $i;
}//fin for
Dans ton cas tu dois utiliser un while pour lire le résultat de ta requête
Exemple:
//exécuter la requête SQL
$resultat_sql = mysql_query("... ici ta requête sql SELECT ...");

//un while de lecture du résultat
while ( $ligne = mysql_fetch_array($resultat_sql) ){
      //ici écrire le traitement de $ligne qui représente  un tableau de colonnes (champs dans le SELECT)

}//fin while

--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 127 Messages

29 juin 2006, 17:02

Je ne comprend pas a quel moment je dois écrire la fonction $i pour qu'elle donne un numéro à chaques données de mon champ nombre.

j'ai essayé :

Code : Tout sélectionner

for($j = 1 ; $j <= ($resultat['nb_resultat']); $j++) { echo $i ; }
($resultat['nb_resultat'] correspond à une requette qui compte le nombre de données dans le champ nombre.)

mais pour chaques données du champ nombre tous les numéros s'affichent aulieu d'avoir un numéro par donnée.

Eléphant du PHP | 127 Messages

29 juin 2006, 17:36

c'est bon j'ai réussi voila se que j'ai fait:

Code : Tout sélectionner

$resultat_sql = mysql_query("... ici ta requête sql SELECT ..."); $j = 1; while ( $ligne = mysql_fetch_array($resultat_sql) and $j <= ($resultat['nb_resultat'])) { echo $j ; $j++; }
Merci pour ton aide