Definir un <option> selected [Résolu]

cs_joebuz 321 Messages postés samedi 12 février 2005Date d'inscription 21 février 2013 Dernière intervention - 25 sept. 2006 à 15:13 - Dernière réponse : cs_joebuz 321 Messages postés samedi 12 février 2005Date d'inscription 21 février 2013 Dernière intervention
- 25 sept. 2006 à 20:52
salut a tous

voila mon probleme je cherche a attribuer la valeur selected a un <option> en fonction du resultat d'une requete SQL

j'ai un <select> pour choisir les jours du mois de 01 a 31 et pour une administration j'ai besoin de pouvoir modifier a volonte

$jour  = la valeur du jour enregistré
je souhaiterais pour la modif affiché le <select> en mettant selected le jour $jour

mais je ne vois pas comment faire ca simplement !

joebuz
Afficher la suite 

Votre réponse

4 réponses

cs_darkduck 140 Messages postés vendredi 28 février 2003Date d'inscription 29 février 2008 Dernière intervention - 25 sept. 2006 à 17:21
+3
Utile
Essaye ça :

$options = "";

for ($i=1; $i<32; $i++)
{
    if ($jour == $i)
       $selected = ' selected="selected"';
    else
       $selected = '';

    $options .= '<option value="'.$i.'"'.$selected.'>'.$i.'</option>';
}

echo '<select name="maList">'.$options.'</select>';
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_darkduck
cs_joebuz 321 Messages postés samedi 12 février 2005Date d'inscription 21 février 2013 Dernière intervention - 25 sept. 2006 à 18:02
0
Utile
Ok nikel, merci


 


j'aurais autre chose a demander


c'est la meme chose mais pour les mois :


<select name='mois'>
       <option value='01'>Janvier</option>
       <option value='02'>Fevrier</option>
       <option value='03'>Mars</option>
       <option value='04'>Avril</option>
       <option value='05'>Mai</option>
       <option value='06'>Juin</option>
       <option value='07'>Juillet</option>
       <option value='08'>Aout</option>
       <option value='09'>Septembre</option>
       <option value='10'>Octobre</option>
       <option value='11'>Novembre</option>
       <option value='12'>Decembre</option>
</select>

$mois (resultat de la requete) est en numerique, mais je prefere affiché le nom du mois
comment je pourrais faire avec ton script




joebuz
Commenter la réponse de cs_joebuz
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 25 sept. 2006 à 18:45
0
Utile
Hello,

<?php$aMois array (1> 'janvier', 2 => 'février', 3 => 'mars'); // à compléter
$sSelectMois = '<select name="choixMois" onchange="document.getElementById(\'mainForm\').submit();"';
foreach ($aMois as $iMois => $sMois) { $sSelected (!empty ($_POST['choixMois']) && (int)$_POST['choixMois'] $iMois)?'selected="selected"':'';
 $sSelectMois .= '<option value="'.$iMois.'" '.$sSelected.'>'.$sMois.'</option>';
}
$sSelectMois .= '</select>';
?>
<form method="post" action="" id="mainForm">
 
  <?php echo $sSelectMois; ?>
 

</form>
Commenter la réponse de malalam
cs_joebuz 321 Messages postés samedi 12 février 2005Date d'inscription 21 février 2013 Dernière intervention - 25 sept. 2006 à 20:52
0
Utile
OK,  mais je l'ai modifié (je trouve plus simple comme ça)

$debut_m = le mois precedemment enregistré (resultat de la requete) 

<?php
echo "<select name='debut_m'>";   $dMois array (1> 'janvier', 2 => 'février', 3 => 'mars', 4 => 'avril', 5 => 'mai', 6 => 'juin', 7 => 'juillet', 8 => 'aout', 9 => 'septembre', 10 => 'octobre', 11 => 'novembre', 12 => 'decembre');
   foreach ($dMois as $diMois => $dsMois) {
    if($debut_m == $diMois){
    $dselected = ' selected="selected"';
    }
        else{
          $dselected = '';
    }
   echo '<option value="'.$diMois.'"'.$dselected.'>'.$dsMois.'</option>';
   }
  echo "</select>";
?>
joebuz
Commenter la réponse de cs_joebuz

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.