Definir un <option> selected

Résolu
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013 - 25 sept. 2006 à 15:13
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013 - 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

4 réponses

cs_darkduck Messages postés 138 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 29 février 2008 1
25 sept. 2006 à 17:21
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>';
3
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
25 sept. 2006 à 18:02
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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 sept. 2006 à 18:45
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>
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
25 sept. 2006 à 20:52
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
0
Rejoignez-nous