Mammouth du PHP |
693 Messages
10 mai 2008, 14:24
Bon, déjà, tu utilise mysql_fetch_array(), qui renvoie un tableau indexé numériquement. Mieux vaut utiliser mysql_fetch_assoc() qui renvoit un tableau doulement indexé, numériquement et associativement (avec les noms des colonnes)
Ensuite, je pense que l'erreur est due au fait que tu écrit la variable sans mettre les balise PHP. En effet, dans ce cas, elle n'est pas traité et donc elle ne sera remplacé par sa valeur.
Dans un premier temps, ceci renvera un resultat correspondant plus à ce que tu veux.
<?
$sql = 'SELECT nom FROM clients';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on récupère le résultat sous forme d'un tableau
$data = mysql_fetch_assoc($req);
// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req); ?>
...
<select name="nom" size="1">
<option><?php echo $data['nom'] ;?></option>
</select>
Cependant, dans ton select, tu n'aura qu'un choix, même si tu dispose de plusieurs clients. mysql_fetch_assoc() ou mysql_fetch_array() ne renvoie qu'un seul enregistrement. Il faudrait que tu fasses une boucle de ce type
Tant que j'arrive à avoir un enregistrement
afficher option du select
Fin tant que
Modifié en dernier par
orgerix le 10 mai 2008, 14:24, modifié 2 fois.