Question bête on peut crée une liste comme cela - PHP - Programmation
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>
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
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à
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 |
Marsh Posté le 09-03-2003 à 01:59:00
ReplyMarsh Posté le 09-03-2003 à 02:02:08
forummp3 a écrit : j'en sais rien peut etre parce que je le forum est flou |
c kler il est chelou soir ce
Marsh Posté le 09-03-2003 à 02:18:50
désolé je ne sais pas faire plus simple
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
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 ...).
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
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.
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
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.
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";
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