Page 1 sur 1

afficher les numéro d'odre d'apparition

Posté : 29 juin 2006, 14:56
par yamissa
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 .

Posté : 29 juin 2006, 15:26
par sadeq
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)

Posté : 29 juin 2006, 16:12
par yamissa
je ne comprend pas comment je dois utiliser le conteur $i désolé.
Je ne dois pas définir cette fonction avant?

Posté : 29 juin 2006, 16:14
par sadeq
Comptes-tu programmer avec du PHP?

Posté : 29 juin 2006, 16:19
par yamissa
oui il y a beaucoup de php sur mon site

Posté : 29 juin 2006, 16:30
par sadeq
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


Posté : 29 juin 2006, 17:02
par yamissa
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.

Posté : 29 juin 2006, 17:36
par yamissa
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