Version complète: sur le forum Webmaster Hub : Sélection par défaut dans une liste déroulante
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Samuel6790
Bonsoir.

J'ai un petit souci avec une (voire des) liste déroulante...

Je récupère des données en tableau dans un formulaire. L'une des variable de ce tableau ets $modele.
Ensuite, je laisse la possiblité à l'utilisateur de modifier la ligne du tableau (sélection par id_fiche puis transmission des variables par get et href vers le formulaire de modification).

Dans le formulaire de modification, j'ulilise les valeurs de ma table "modele" pour lister ses valeurs ($row...etc)

J'aimerais que la valeur précédente de $modèle soit sélectionnée par défaut dans la liste pour éviter que, si l'utilisateur oublie, une valeur nulle ne soit sélectionnée. Voici le code que j'ai essayé d'écrire, mais la variable sélectionnée est toujours "" sauf si l'utilisateur change la liste...

Merci de vos lumières..
voici le code
CITATION
<td valign="top">Type : <?php
$recherche_modele = "SELECT DISTINCT modele FROM modele ORDER BY modele ASC";
$query = mysql_query($recherche_modele) or die ('erreur');
$ld = "<SELECT NAME=\"new\">";
$ld .= "<OPTION VALUE=$modele>Type d'enregistrement</OPTION>";
// On boucle sur la table
while ( $row = mysql_fetch_array( $query)) {

$new = $row["modele"];
if ( $new == $newRecord) {
$s = "selected";
} else {
$s = "";
}
$ld .= "<OPTION VALUE='$new',$s>$new</OPTION>";
}

$ld .= "</SELECT>";
print $ld;
?>



bonne soirée à tous.... wink.gif
v4np13
Utilise la propriété selected:
CODE
<option value="" selected="selected">
Samuel6790
merci v4np13 pour ton aide, mais c'est un peu plus compliqué. Je ne sais pas en écrivant le code ce qui va être sélectionné par l'utilisateur.....


Merci tout de même.... si je trouve la solution qui me convient je la post ici pour tous.... wink.gif
captain_torche
Le solution de V4np13 fonctionne, pourtant wink.gif
CODE
if ( $new == $newRecord) {
$s = ' selected="selected"';
} else {
$s = '';
}
$ld .= '<option value="$new"'.$s.'>'.$new.'</option>";


Le souci venait du code de ton option, qui était incorrect : la virgule devait entraîner une erreur de syntaxe, et ton "selected" ne devait pas être compris par les navigateurs.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.