Selected

Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009 - 9 janv. 2007 à 17:04
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009 - 10 janv. 2007 à 14:31
Bonjour !

J'ai une liste déroulante que j'alimente avec une base de donneés, mais je souhaite définir une valeur par défaut a cette liste déroulante. ça parait tres simple. Mais j'ai essayé vraiment plein de solution différente, et rien a faire, ça ne fonctionne pas ! Voici mon code :
  $defaut_req 'Select LIBELLE_TYPE_LOG from type_log where CODE_TYPE_LOG '.$CODE_TYPE_LOG.'';
  $defaut = mysql_query($defaut_req, $VL_CONNEXION) ;
  $def = mysql_fetch_assoc($defaut);
  $oki=mysql_result($defaut, "");

//lorsque je fais un echo de $oki, il me met bien la valeur désiré.

mysql_connect("$SERVEUR", "$LOGIN", "$PASSWORD"); 
mysql_select_db("$BDD");


      $rqSql= "Select CODE_TYPE_LOG, LIBELLE_TYPE_LOG FROM type_log";


      // Exécution de la requête
      $result = mysql_query( $rqSql)
                or die( "Exécution requête impossible.");

 $ld = "<SELECT NAME='list_Type_Log'>";
//On boucle sur la table
    
    while ( $row = mysql_fetch_array( $result))
    { 
        $CODE_TYPE_LOG = $row["CODE_TYPE_LOG"];
        $LIBELLE_TYPE_LOG = $row["LIBELLE_TYPE_LOG"];
        $ld .= "<OPTION VALUE= $oki selected="selected">$LIBELLE_TYPE_LOG</OPTION>"; 
     }
      $ld .= "</SELECT>";


      print $ld;

La liste déroulante fonctionne parfaitement, mais il ne veut pas me mettre la valeur $oki par défaut.
Toutes vos remarques sont les bienvenues.
Je vous remerci !

4 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 janv. 2007 à 17:48
Salut,

pense à entourer de doubles quotes " " tes valeurs, ensuite là tu boucles mais tu mets un selected="selected" à chaque valeur, le navigateur ne sait donc pas quelle valeur sélectionner, faut que tu fasses un if() conditionnel pour savoir si tu souhaites sélectionner telle ou telle valeur, auquel cas tu lui ajouteras dans le code un selected="selected".

a +
0
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
10 janv. 2007 à 09:49
J'ai modifié selon tes remarques mon code.

voici le code :
                   while ( $row = mysql_fetch_array( $result))
                {
                    if($oki == $LIBELLE_TYPE_LOG)
                    {
                    $selected = "selected="selected"";
                    }
                    else {
                    $selected = "";
                    }

                    $CODE_TYPE_LOG = $row["CODE_TYPE_LOG"];
                    $LIBELLE_TYPE_LOG = $row["LIBELLE_TYPE_LOG"];
                   
                    $ld .= "<OPTION VALUE= ''$oki'' $selected > $LIBELLE_TYPE_LOG</OPTION>";
                   
                 }
                        $ld .= "</SELECT>";

                        print $ld;

Et ça ne marche toujours pas, je ne sais pas pourquoi !
C'est vraiment bizarre, la valeur par défaut change selon la valeur, mais ne prend jamais la bonne!!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
10 janv. 2007 à 09:58
Faudrait qu'on en sâche un peu plus sur le contenu des différentes variables et de la structure de ta table je pense ;)
0
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
10 janv. 2007 à 14:31
J'ai une table type_log (code_type_log, libelle_type_log)

Contenu de la variable $oki : 
   $defaut_req 'Select LIBELLE_TYPE_LOG from type_log where CODE_TYPE_LOG '.$CODE_TYPE_LOG.'';
  $defaut = mysql_query($defaut_req, $VL_CONNEXION) ;
  $def = mysql_fetch_assoc($defaut);
  $oki=mysql_result($defaut, "");

$CODE_TYPE_LOG est une donnée que je récupere dans la table type_log.

$oki m'affiche bien la bonne donnée.

Je pense donc que l'erreure se trouve la : 
$selected = "selected="selected"";

ou ici :
$ld .= "<OPTION VALUE= ''$oki'' $selected > $LIBELLE_TYPE_LOG</OPTION>";

A mon avis c'est juste un probleme de syntaxe, mais j'ai essayé tellement de choses, j'ai passé plus d'une journée a faire que de modifié mon code.
Je désespere !
Help me please
0
Rejoignez-nous