Question bête on peut crée une liste comme cela

Question bête on peut crée une liste comme cela - PHP - Programmation

Marsh Posté le 09-03-2003 à 01:08:18    

Voilà le but c'est de crée une liste à partir des informations d'une base de donnée. Je me demande si je peux la crée de cette manière ou mon code est complètement bidon.
 
 
 
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FBD5A0" text="black" link="black" vlink="black" alink="black">
<p align="center"><font size="5">Affichage des contacts</font></p>
<?
echo '<form method="post">';
echo '<select name="choix">';
$db=mysql_connect('localhost','root','';);
mysql_select_db('contact',$db);
$sql='SELECT auto,Nom,Prenom FROM contact_tbl ORDER BY Nom';
$req=mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
while($data=mysql_fetch_array($req))
{
 echo'<option value="'.($data['auto']).'">'.($data['Nom']).' '.($data['Prenom']).'</option>';
 }
echo '</select>';
echo '  <input type="submit" value="Afficher">';
echo '</form>';  
if ($choix<>0) {
 //echo '<br><br>ici'.$choix; debug
 $sql='SELECT * FROM contact_tbl WHERE auto=(.$choix)';
 $req=mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
 while($data=mysql_fetch_array($req))
 {
   echo'<Nom :"'.($data['Nom']).' Prénom :'.($data['Prenom']).'</br>';
  }
 }
 else {
   echo '<br><br> Problème de Base de donnée';
 }  
mysql_close();
?>
</body>
</html>


Message édité par bossamiral2 le 09-03-2003 à 05:05:40
Reply

Marsh Posté le 09-03-2003 à 01:08:18   

Reply

Marsh Posté le 09-03-2003 à 01:19:32    

Non, c'est bien :)

Reply

Marsh Posté le 09-03-2003 à 01:21:17    

keskel est bete la question [:dawa]

Reply

Marsh Posté le 09-03-2003 à 01:29:12    

Pourtant avec ça comme modification, j'ai la liste mais pas valeur de ma base de donnée dedans. Pige pas si la creation de la liste fonctionne il doit être possible de mettre les valeurs  
 
 
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
 <?
 print("<form name=\"form1\" method=\"post\" action=\"affichersingle.php3\">" );
 print("<select name=\"select\">" );
 $db=mysql_connect('localhost','root','';);
 mysql_select_db('contact',$db);
 $sql='SELECT Auto,Nom FROM contact_tbl ORDER BY Nom';
 $req=mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
 while($data=mysql_fetch-array($req))
 {
 echo'<option value=\"'.$data['Auto'].'\">'.$data['Nom'].'</option>';
 }
mysql_close();
print("</select></form>" );  
?>
</body>
</html>

Reply

Marsh Posté le 09-03-2003 à 01:34:03    

Vérifie le source de page HTML, reçue par le navigateur, pour voir ce que le script a généré.
Mais le principe est bon :)

Reply

Marsh Posté le 09-03-2003 à 01:35:53    

en faite tout marche très bien, j'avais juste une erreur de synthax dans le code  "" mysql_fetch-array "" au lieu de "" mysql_fetch_array ""
 
Voilà

Reply

Marsh Posté le 09-03-2003 à 01:53:20    

bossamiral2 a écrit :

Pourtant avec ça comme modification, j'ai la liste mais pas valeur de ma base de donnée dedans. Pige pas si la creation de la liste fonctionne il doit être possible de mettre les valeurs  
 
 
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
 <?
 print("<form name=\"form1\" method=\"post\" action=\"affichersingle.php3\">" );
 print("<select name=\"select\">" );
 $db=mysql_connect('localhost','root','';);
 mysql_select_db('contact',$db);
 $sql='SELECT Auto,Nom FROM contact_tbl ORDER BY Nom';
 $req=mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
 while($data=mysql_fetch-array($req))
 {
 echo'<option value=\"'.$data['Auto'].'\">'.$data['Nom'].'</option>';
 }
mysql_close();
print("</select></form>" );  
?>
</body>
</html>
 

:ouch:  :ouch:

Reply

Marsh Posté le 09-03-2003 à 01:56:13    


 
pkoi  :ouch:  :ouch:  ??

Reply

Marsh Posté le 09-03-2003 à 01:59:00    

boubours a écrit :


 
pkoi  :ouch:  :ouch:  ??

j'en sais rien peut etre parce que je le forum est flou  :ouch:  :ouch:

Reply

Marsh Posté le 09-03-2003 à 01:59:02    

tu peux virer 3 print :p

Reply

Marsh Posté le 09-03-2003 à 01:59:02   

Reply

Marsh Posté le 09-03-2003 à 02:02:08    

forummp3 a écrit :

j'en sais rien peut etre parce que je le forum est flou  :ouch:  :ouch:  


 
c kler il est chelou soir ce  :pt1cable:

Reply

Marsh Posté le 09-03-2003 à 02:18:50    

désolé je ne sais pas faire plus simple :pt1cable:  
 
non je débute alors je me lance dans des trucs pas croyable pas manque de connaisance du php. je suis sur qu'il y a plus simple mais je ne sais pas faire

Reply

Marsh Posté le 09-03-2003 à 02:29:01    

Je vois ce qu'il peut y avoir de plus simple pour gérer une liste à partir du contenu d'une base :??:  
 
Bon, il y a surement quelques petits détails à améliorer (des print inutiles, utiliser htmlspecialchars($data['Nom']) au lieu de $data['Nom'], mieux prendre en compte l'erreur éventuelle ...).

Reply

Marsh Posté le 09-03-2003 à 02:39:23    

ok je vais encore améliorer ce code et après je passe à la suite.
 
Si ça intéresse, je le posterai une fois l'avoir amélioré.
 
mais tu rigoles, j'ai un problème tout bête je ne sais pas récupéré la valeur de mon value après être sélectionné.
 
C'est toujours des petits trucs qui me casse le plus les pieds

Reply

Marsh Posté le 09-03-2003 à 02:56:03    

Ton formulaire passe par un post (method="post" ) et le champ s'appelle "select". Tu peux récupérer sa valeur dans le script de réception par : $_POST['select']
Selon la configuration, tu peux aussi avoir une variable $select directement déclarée dans ton script, mais c'est le comportement de PHP 3 qui, à terme, disparaitra. Autant prendre de bonnes habitudes et passer par le tableau $_POST[] :)
 
edit : enfin, si c'est du PHP 3, je crois pas que le tableau $_POST[] existe. Dans ce cas, il faut utiliser directement la variable $select.


Message édité par mrbebert le 09-03-2003 à 02:57:30
Reply

Marsh Posté le 09-03-2003 à 04:15:45    

fermer la connection mysql apres le mysql_query aussi ce serait bien plutot ke d'attendre ke ce soit fait too seul ;)

Reply

Marsh Posté le 09-03-2003 à 05:03:03    

j'ai déjà corrigé, mais merci par contre, j'ai un autre petit problème, je recupère la variable du select "choix". Mais je n'arrive pas à trouver l'ecriture correct pour ce bout de code.
 
 $sql='SELECT * FROM contact_tbl WHERE auto=.$choix';
il me sort une erreur sql a cause de l'écriture, je suis sur que c'est cette partie en rouge qui est fausse, mais je n'arrive pas a trouver la manière correcte de l'écrire.

Reply

Marsh Posté le 09-03-2003 à 05:46:36    

Si tu mets entre simple quote, il remplace pas le $choix. 2 possibilités :
$sql = 'SELECT * FROM contact_tbl WHERE auto=' . $choix;
$sql = "SELECT * FROM contact_tbl WHERE auto=$choix";

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed