Page 1 sur 1

Boucle avec while.

Posté : 27 nov. 2012, 09:57
par Angela81
Bonjour à tous !
ça fait un moment que je n'étais pas venu vous embêter avec mes questions de super-débutantes mais là... je sèche et je m'y énerve dessus ! Besoin de vous s'il vous plait !!! merci d'avance. :D

Mon problème (si on peut dire) :
J'ai une base de données, avec une table. Dans cette table, des entrées contenant entre autres choses ds champs Nom et Prenom.
J'ai besoin d'afficher une liste contenant tous les noms & prenoms enregistrés dans cette table.
Détail qui a peut être une importance, je veux afficher ces infos dans un lien du genre
echo '<a href="auto_aff.php?Nom='.$data['Nom'].'&Prenom='.$data['Prenom'].'">'.$data['Nom'].' '.$data['Prenom'].'</a><br />';
Donc un lien différent pour chaque personne enregistrée dans la table.

J'ai donc ma requete :
$sql="SELECT NomUtil, PrenomUtil FROM util ORDER BY NomUtil DESC";
$req=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$data=mysql_fetch_array($req); 
et il me manque quelque chose entre la requete et le echo mais je ne sais plus ce que c'est.
Pourriez-vous me donner juste le nom du truc qui manque (je ne demande pas un bout de code mais juste le nom du truc, après je me débrouille toute seule) ? Merci d'avance à ceux qui me répondront.

Re: Comment faire cela ? j'ai la memoire qui flanche...

Posté : 27 nov. 2012, 10:15
par xTG
mysql_fetch_array() te renvoie un enregistrement et avance le curseur sur le prochain.
Tu dois donc faire une boucle while dessus :
while($data = mysql_fetch_array($req){
  // ici on traite à chaque itération un enregistrement différent
}

Re: Comment faire cela ? j'ai la memoire qui flanche...

Posté : 27 nov. 2012, 10:34
par Angela81
Merci xTG.

j'avais bien tenté ça mais en ajoutant le code que tu m'a donné en plus de celui que j'avais déjà... et ça ne marchait pas ! En fait, maintenant j'ai pigé, il me faut enlever la dernière ligne de mon code et la remplacer par la tienne. ce qui donne :
<?php
				
				$sql="SELECT NomUtil, PrenomUtil FROM util ORDER BY NomUtil DESC";
				$req=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
				
				
				while($data=mysql_fetch_array($req)) {
				echo '<a href="auto_aff.php?NomUtil='.$data['NomUtil'].'&PrenomUtil='.$data['PrenomUtil'].'">'.$data['NomUtil'].' '.$data['PrenomUtil'].'</a><br />';
				 }
				mysql_free_result($req);
				?>
et ça marche =D> :mrgreen: Merci beaucoup xTG !