Valeur par défaut depuis mysql sur liste déroulante [Résolu]

VicTeams 64 Messages postés vendredi 20 janvier 2006Date d'inscription 27 février 2011 Dernière intervention - 25 sept. 2009 à 10:52 - Dernière réponse : VicTeams 64 Messages postés vendredi 20 janvier 2006Date d'inscription 27 février 2011 Dernière intervention
- 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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
tpoinsot 345 Messages postés mardi 1 juin 2004Date d'inscription 17 octobre 2014 Dernière intervention - 25 sept. 2009 à 11:14
3
Merci
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

Merci tpoinsot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de tpoinsot
VicTeams 64 Messages postés vendredi 20 janvier 2006Date d'inscription 27 février 2011 Dernière intervention - 25 sept. 2009 à 11:58
0
Merci
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>
Commenter la réponse de VicTeams

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.