Valeur par défaut depuis mysql sur liste déroulante

Résolu
VicTeams Messages postés 63 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 27 février 2011 - 25 sept. 2009 à 10:52
VicTeams Messages postés 63 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 27 février 2011 - 25 sept. 2009 à 11:58
Bonjour à tous, voila maintenant 2 jours et demi que je cherche a mettre la valeur par défaut dans un select.
Je m'explique :

J'ai 2 tables, la première me permet de mettre des fabricants, la secondes pas mal d'autre infos,

Quand je créer une entré mysql avec mon formulaire, j'ai une liste déroulante avec les donnée de ma 1ere table, jusque là, pas de problèmes, je fait ma sélection, je valide mon formulaire, les données s'enregistre ainsi que les donnée de mon select, au format text et non id.

Mais quand je souhaite modifier cet enregistrement via un autre formulaire, je souhaiterais que ma liste déroulante, affiché les valeurs de ma 1ere table, mais que l'option 'selected' affiche comme valeur par defaut, le fabricants enregistrée dans ma 2eme table.

Voici mon code qui affiche les 'options' de ma liste déroulante, et j'aimerais que la valeur sélectionnée par defaut soit la valeur enregistrer dans ma 2eme table, la connexion a la bdd se fait en début de page, ceci est juste la liste déroulante qui fonctionne :

<?php
echo "<select name=fabricants>";
$requete=mysql_query("SELECT * FROM fabricant");
$nombrelignes = mysql_numrows($requete);
for ($i=0;$i<$nombrelignes;$i++) {
$fabricants = mysql_result($requete,$i,"nom");

echo "<option value=$fabricants> $fabricants </option>";
}
echo '</select>';

?>


Aidez moi svp, je commence à désespérer, Merci à tous

2 réponses

tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
25 sept. 2009 à 11:14
Bonjour,
tu ajoutes " selected " sur la bonne ligne :
si ta valeur est dans $fabricantInitial (trouvée par sql sur table2) alors coupe ton echo en 2 :
echo "<option value=$fabricants";
if ( !strcmp($fabricants, $fabricantInitial) ) echo " selected";
echo "> $fabricants </option>";

thip
3
VicTeams Messages postés 63 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 27 février 2011
25 sept. 2009 à 11:58
Comment te remercier, eu franchement un GRAND merci, je me prend la tête avec sa depuis pas mal de temps, je suis trop trop content !!!!

MERCI, MERCI, MERCI

Voici mon code final qui fonctionne un modifier :
<?php
echo "<select name=fabricants>";
$requete=mysql_query("SELECT * FROM fabricant");
$nombrelignes = mysql_numrows($requete);
for ($i=0;$i<$nombrelignes;$i++) {
$fabric = mysql_result($requete,$i,"nom");

echo "<option value=$fabric";
if ( !strcmp($fabric, $fabricants) ) echo " selected";
echo "> $fabric </option>";
}


?></select>
0