Problème select html value par défault
Fermé
max1395
Messages postés
89
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
30 juin 2013
-
15 mars 2011 à 10:53
ipouy - 3 juil. 2013 à 02:34
ipouy - 3 juil. 2013 à 02:34
A voir également:
- Problème select html value par défault
- Editeur html - Télécharger - HTML
- Br html - Forum HTML
- &Nbsp html ✓ - Forum Webmastering
- [HTML] - á et les autres - Forum HTML
- Espace en html - Astuces et Solutions
8 réponses
max1395
Messages postés
89
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
30 juin 2013
6
15 mars 2011 à 11:45
15 mars 2011 à 11:45
Oui pas bête l'astuce mais ca m'affiche toujours le 1er de la liste et non celui de la bdd
Utilisateur anonyme
15 mars 2011 à 11:04
15 mars 2011 à 11:04
Bonjour,
pour sélectionner une valeur dans un select il faut faire ceci dans une des balises option
<option value="xxx" selected="true">....</option>
Donc dans votre code PHP ça pourrait être
<SELECT name="chiffre">
<?php
for($i=1; $i<5;$++) {
if ($data['chiffre']==$i) {
echo '<option value="'.$i.'" selected="true">'.$i.'</option>';
} else {
echo '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</SELECT>
pour sélectionner une valeur dans un select il faut faire ceci dans une des balises option
<option value="xxx" selected="true">....</option>
Donc dans votre code PHP ça pourrait être
<SELECT name="chiffre">
<?php
for($i=1; $i<5;$++) {
if ($data['chiffre']==$i) {
echo '<option value="'.$i.'" selected="true">'.$i.'</option>';
} else {
echo '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</SELECT>
max1395
Messages postés
89
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
30 juin 2013
6
15 mars 2011 à 11:15
15 mars 2011 à 11:15
Oui je comprends mais il existerais pas un code plus simple a mettre en place ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
max1395
Messages postés
89
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
30 juin 2013
6
15 mars 2011 à 11:28
15 mars 2011 à 11:28
ok c'est bon j'ai compris le code mais comment je fais si je veux veux mettre des noms a la place des chiffres ?
Utilisateur anonyme
15 mars 2011 à 11:34
15 mars 2011 à 11:34
Comme ceci par exemple :
$tab = array('toto','titi','tutu');
for($i=1; $i<count($tab);$++) {
if ($data['chiffre']==$tab[$i]) {
echo '<option value="'.$tab[$i].'" selected="true">'.$tab[$i].'</option>';
} else {
echo '<option value="'.$tab[$i].'">'.$tab[$i].'</option>';
}
$tab = array('toto','titi','tutu');
for($i=1; $i<count($tab);$++) {
if ($data['chiffre']==$tab[$i]) {
echo '<option value="'.$tab[$i].'" selected="true">'.$tab[$i].'</option>';
} else {
echo '<option value="'.$tab[$i].'">'.$tab[$i].'</option>';
}
<SELECT NAME="name">
<?php $tab = array('toto','titi','tutu');
for($i=0; $i<count($tab);$i++) {
if ($data['chiffre']==$tab[$i]) {
echo '<option value="'.$tab[$i].'" selected="true">'.$tab[$i].'</option>';
} else {
echo '<option value="'.$tab[$i].'">'.$tab[$i].'</option>';
}
}
?>
</SELECT>
Voici le code précédent modifié de façon à ce qu'il marche
<?php $tab = array('toto','titi','tutu');
for($i=0; $i<count($tab);$i++) {
if ($data['chiffre']==$tab[$i]) {
echo '<option value="'.$tab[$i].'" selected="true">'.$tab[$i].'</option>';
} else {
echo '<option value="'.$tab[$i].'">'.$tab[$i].'</option>';
}
}
?>
</SELECT>
Voici le code précédent modifié de façon à ce qu'il marche
Moi je préfères ça :
//..dans la boucle bien sûr
echo '<option value="'.$tab[$i].'" ';
if ($data['chiffre']==$tab[$i]){ echo 'selected="selected" ';} /*(pas de else) moins de structure conditionnelle exécution plus rapide et plus facile à modifier et plus clair à lire*/
echo '>'.$tab[$i].</option>';
// fermer la boucle for
//..dans la boucle bien sûr
echo '<option value="'.$tab[$i].'" ';
if ($data['chiffre']==$tab[$i]){ echo 'selected="selected" ';} /*(pas de else) moins de structure conditionnelle exécution plus rapide et plus facile à modifier et plus clair à lire*/
echo '>'.$tab[$i].</option>';
// fermer la boucle for
15 mars 2011 à 14:08
ça ne doit plus être un chiffre fatalement, car votre value est une chaîne de caractères, si vous voulez des chiffres comme value il faudrait faire ça à la place :
$tab = array(1=>'toto',2=>'titi',3=>'tutu');
foreach($tab as $key=>$value) {
if ($data['chiffre']==$key) {
echo '<option value="'.$key.'" selected="true">'.$value.'</option>';
} else {
echo '<option value="'.$key.'">'.$value.'</option>';
}