par
d0m » 10 mai 2008, 15:44
Si tu viens de te mettre au php il faut proceder étape par étape.
Déjà en comprenant ce que tu fais et ce que tu utilises.
La première chose que tu fais c'est aller chercher en base le noms des clients.
tu fais ceci avec une requête :
<?php
$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());
Ca c'est ok.
Ensuite dis toi que la variable
$req contient plusieurs lignes, chaque ligne étant un enregistrement de la table clients contenant le nom.
Il n'y a pas de fonction toute prête en php qui va mettre dans un tableau TOUTES tes lignes du résultat de la requête. La fonction
mysql_fetch_assoc va mettre dans un tableau UNE SEULE ligne du résultat la première. Si tu le réutilises sur ce résultat, tu auras la deuxième ligne, puis la troisème etc...
Il va donc falloir boucler avec cette fonction pour extraire toutes les lignes :
$data = array();
while($ligne = mysql_fetch_assoc($req);{
//on range dans le tableau la ligne résultat en cours
$data[] = $ligne;
}
//on affiche le tableau pour voir à quoi il ressemble
printr($data);
...
ensuite tu pourras boucler sur ce tableau et en extraire les noms pour les afficher dans la liste déroulante.
Si tu viens de te mettre au php il faut proceder étape par étape.
Déjà en comprenant ce que tu fais et ce que tu utilises.
La première chose que tu fais c'est aller chercher en base le noms des clients.
tu fais ceci avec une requête :
[php]<?php
$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()); [/php]
Ca c'est ok.
Ensuite dis toi que la variable [b]$req[/b] contient plusieurs lignes, chaque ligne étant un enregistrement de la table clients contenant le nom.
Il n'y a pas de fonction toute prête en php qui va mettre dans un tableau TOUTES tes lignes du résultat de la requête. La fonction [url=http://php.net/manual/function.mysql-fetch-assoc.php]mysql_fetch_assoc[/url] va mettre dans un tableau UNE SEULE ligne du résultat la première. Si tu le réutilises sur ce résultat, tu auras la deuxième ligne, puis la troisème etc...
Il va donc falloir boucler avec cette fonction pour extraire toutes les lignes :
[php]$data = array();
while($ligne = mysql_fetch_assoc($req);{
//on range dans le tableau la ligne résultat en cours
$data[] = $ligne;
}
//on affiche le tableau pour voir à quoi il ressemble
printr($data);[/php]
...
ensuite tu pourras boucler sur ce tableau et en extraire les noms pour les afficher dans la liste déroulante.