Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Programmation Web (HTML, PHP, ASP, Java, XML, etc.) (http://www.ndfr.net/forums/forumdisplay.php?f=65)
-   -   [PHP] Créer une liste déroulante depuis une table SQL (http://www.ndfr.net/forums/showthread.php?t=5422)

bastien 18-11-2004 00:01

[PHP] Créer une liste déroulante depuis une table SQL
 
Bonsoir à tous !

Je souhaiterais donc créer une liste déroulante depuis une table mysql...

Je me suis donc inspiré d'un script sur un site, mais voici mon problème :

mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\wamp\www\labas\admin\playlist.php on line 17

Et voici le code :
PHP Code:

    require("../confmysql.php");
 
$mysql_link mysql_connect("$sql_serveur""$sql_user""$sql_password");
  echo 
'<select size=1 name=\"chans\">'."\n";
  echo 
'<option value=\"-1\">Choisir un résultat<option>'."\n";
  
$sql "SELECT * FROM 'chansons' ORDER BY `titre` ASC";
  
$ReqLog mysql_db_query("$sql_bdd"$sql);
  while (
$resultat mysql_fetch_row($ReqLog)) {
    echo 
'<option value=\"'.$resultat[0].'\">'.$resultat[1];
    echo 
'</option>'."\n";
  }

  echo 
'</select>'."\n";
  
mysql_close($mysql_link); 

La ligne 17 c'est la ou il y a le while...

Et voici le contenu du confmysl.php :

PHP Code:

$sql_serveur="localhost";
$sql_user="xxx";
$sql_password="xxxx";
$sql_bdd="xxx"

Voilà !
Donc si vous pouvez me dépanner, ou me conseiller un autre script !

Bonne soirée,
Merci

Magi-X 18-11-2004 07:41

Quote:

Originally Posted by zyk
Bonsoir à tous !

Je souhaiterais donc créer une liste déroulante depuis une table mysql...

Je me suis donc inspiré d'un script sur un site, mais voici mon problème :

mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\wamp\www\labas\admin\playlist.php on line 17

Et voici le code :
PHP Code:

    require("../confmysql.php");
 
$mysql_link mysql_connect("$sql_serveur""$sql_user""$sql_password");
  echo 
'<select size=1 name=\"chans\">'."\n";
  echo 
'<option value=\"-1\">Choisir un résultat<option>'."\n";
  
$sql "SELECT * FROM 'chansons' ORDER BY `titre` ASC";
  
$ReqLog mysql_db_query("$sql_bdd"$sql);
  while (
$resultat mysql_fetch_row($ReqLog)) {
    echo 
'<option value=\"'.$resultat[0].'\">'.$resultat[1];
    echo 
'</option>'."\n";
  }

  echo 
'</select>'."\n";
  
mysql_close($mysql_link); 


Salut zyk,

Bon faut que test quelque chose ...

mets entre "$ReqLog = mysql_db_query("$sql_bdd", $sql);" et ton while le code suivant:


PHP Code:

$nr_result mysql_num_rows($ReqLog);
echo 
"Nombres de données : ".$nr_result;
exit(); 
// question de ne pas continuer dans le reste du code ... 

Enfaite je te fais faire cela, car j'avais et j'ai des fois encore ces genres d'erreur quand il y a rien dans le RegLog. Ce qui peu etre du a une mauvaise requete etc .. et le num_rows va voir combien il y en a.

C'est asse dur de trouve l'erreur comme ca dans le code, il faut que tu debug pas par pas. Verifie dans la bdd aussi si tout est correct etc ...

Laisse nous savoir :)

veekee 18-11-2004 11:35

je serais toi, je testerais avant si la requète s'est bien déroulée sans anicroche ;)
-> http://www.nexen.net/docs/php/annote...php?lien=mysql


Je ne suis pas certain que les guillemets soient indispensables et bien interprétés par MySQl ;)
Code:

$sql = "SELECT * FROM chansons ORDER BY titre";

Magi-X 18-11-2004 11:38

Quote:

Originally Posted by veekee
je serais toi, je testerais avant si la requète s'est bien déroulée sans anicroche ;)
-> http://www.nexen.net/docs/php/annote...php?lien=mysql


Je ne suis pas certain que les guillemets soient indispensables et bien interprétés par MySQl ;)
Code:

$sql = "SELECT * FROM chansons ORDER BY titre";

Maintenant que tu en parle il y a une erreur selon moi dans la requete, mais c'est seulement les single quote dans 'chanson' qui sont faute, les "quote" de `titre` ça ça fontionne, deilleur en phpmyadmin c tj avec c quote -> `

bargio 18-11-2004 12:01

>>> $sql = "SELECT * FROM 'chansons' ORDER BY `titre` ASC";

Je confirme que les ' autour de chansons posent problèmes, je me suis pris la tête pendant un bon moment à cause de ça... soit tu ne mets rien, soit tu mets des `.

Seb

bastien 18-11-2004 12:02

Effectivement, j'ai enlevé les apostrophes, et le problème est réglé !!!
AAahhh la technologie :)

Merci à tous quand même !

bargio 18-11-2004 13:28

Yahoo ;) J'ai répondu juste à une question sur du php, d'habitude c'est moi qui pose les questions aux autres :)))) Surtout une question de toi Zyk, j'aurais jamais cru, vu tes sites ;)

Seb

bastien 18-11-2004 13:41

Arf !
J'ai po la science php infuse ! Loin de là ...

Il peut m'arriver de bloquer .. la preuve !

fonji 18-11-2004 14:13

La prochaine fois que t'as une requête sql qui va pas, même si l'erreur est plus loin, exécute-la d'abord dans phpmyadmin, pour voir un détail sur l'erreur et si elle retourne les résultats désirés (parce que genre si t'as une erreur dans la clause where...)

Donc si tu retombes sur un truc du genre, fais un echo $sql . '<br />' . $mysql_error();
ou, mieux, tu peux mettre ça comme ça :
mysql_db_query("$sql_bdd", $sql) or die($sql . '<br />' . $mysql_error());


All times are GMT +2. The time now is 08:13.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.