Boucle pour afficher contenu d'un <select>

mickaelm30 Messages postés 229 Statut Membre -  
mickaelm30 Messages postés 229 Statut Membre -
Bonjour,
Je suis en train de réaliser un site internet, jusqu'ici tout baigne :D.
Mais voila, je suis tomber sur un obstacle que je n'arrive pas à surmonter seul!

Je vous montre mon code :


//début du code
<?php

echo "<p align=center><table border=1>

<form action=ajouter.php method=POST>

<tr><td>Nom du produit :</td> <td> <input type=text name=nomprod></td><br>
<tr><td>Prix du produit : </td> <td><input type=text name=prixprod></td><br>
<tr><td>Durée de la garantie du produit : </td> <td><input type=text name=dureegarantie></td><br>
<tr><td>Nom du type du produit :</td> <td> "
?>

<select id="listeAuteur" name="typeprod">
<option value="defaut">--Choisissez le type--</option>

<?php

mysql_connect("...","...","...") or die("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");
$req = mysql_query("SELECT nomtype FROM typeprod");

while($ligne=mysql_fetch_assoc($req))
echo "<option value=".$ligne['nomtype']."</option>";

mysql_close();

?>

</select>

<tr> <td> </td> <td> <input type=reset name=effacer value=Effacer style='border-style: solid; border-width: 1; background-color: #3B3B3B; color: #708090'>
<input type=submit name=ajouter value=Ajouter style='border-style: solid; border-width: 1; background-color: #3B3B3B; color: #708090'></td>
</form>
//fin du code

bon je m'explique:
-il n'y à que la parti select qui ne marche pas.
-je souhaite afficher les noms de chaque produit en faisant une boucle graçe ma table "typeprod".

Mais ça marche pas :( Allez les experts j'ai besoin de vous plizzz

5 réponses

Ozimandias Messages postés 528 Statut Membre 46
 
Ben l'erreur est la:

echo "<option value=".$ligne['nomtype']."</option>"; 


une option de liste s'ecrit : echo "<option value="Valeur de la liste">Texte à ecrire dans la liste</option>";
attentions l'attribut value s'ecrit entre doubles cotes " ". Je changerais donc en:

echo '<option value=" '.$ligne['nomtype'].' ">'.$ligne['nomtype'].'</option>'; 


Dans la partie soulignée, tu ne met pas d'espaces. Je les ai mis pour que tu vois bien qu'il y a un " suivit d'un ' et inversement.
1
mickaelm30 Messages postés 229 Statut Membre 12
 
savais-tu que tu étais un demi dieu?!
Je vais bien examiner ton code, merci beaucoup!

Bon jpense que j'aurais pas de difficulté pour enregistrer le cvontenu du select dans ma base!

merci encore
1
mickaelm30 Messages postés 229 Statut Membre 12
 
Ozimandias si t'es toujours présent^^

//début code
<?php

$nom=$_POST["nomprod"];
$prix=$_POST["prixprod"];
$garantie=$_POST["dureegarantie"];
$type=$_POST["nomtype"];

//connexion à mysql
mysql_connect("...", "...", "...") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");

$req="INSERT INTO produit VALUES ('', '$nom', '$prix', '$garantie', '$type')";
$result0=mysql_query($req);

mysql_close(); // Déconnexion de MySQL
?>
//fin code

-Tout fonctionne mais dans ma base de donnée "nomtype" n'apparait pas, qui aurait une solution pour moi?!
0
okunrinlada Messages postés 1 Statut Membre
 
j'ai pas grande idée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mickaelm30 Messages postés 229 Statut Membre 12
 
faut regarder le premier script que j'ai écrit avec la liste déroulante!

En espérant que vous trouverez ;)
0