Boucle pour afficher contenu d'un <select>

Fermé
mickaelm30 Messages postés 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 - 28 mai 2009 à 17:00
mickaelm30 Messages postés 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 - 28 mai 2009 à 18:04
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 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
28 mai 2009 à 17:12
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 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 12
28 mai 2009 à 17:23
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 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 12
28 mai 2009 à 17:51
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 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 28 mai 2009
28 mai 2009 à 17:52
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 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 12
28 mai 2009 à 18:04
faut regarder le premier script que j'ai écrit avec la liste déroulante!

En espérant que vous trouverez ;)
0