Bonjour,
Puisque tu pars de zéro, tu as tout à fait raison de rédiger d'abord le HTML que tu veux obtenir, et de voir ensuite comment passer à des variables (PHP).
Prenons d'abord la simple problématique de retenir le "selected" dans le "select".
Nous sommes d'accord que sur ton "select" en dur, tu veux obtenir un "selected" sur l'option que l'utilisateur a choisie.
Rangeons là d'abord dans une variable intermédiaire tout bête, ça sera plus facile.
1 2 3 4 5 6 7
| if(! empty($_POST['categorieNews'])){
$choix=$_POST['categorieNews'];
//et je fais le traitement.
}
else{
//je fais la grève.
} |
C'est là que je dois t'expliquer un truc assez violent la première fois qu'on le voit, et qui s'appelle la condition ternaire.
Une condition normale dirait :
1 2 3 4 5 6
| if($choix=='infos'){
echo 'selected';
}
else{
//ne fais rien du tout.
} |
Ca, j'espère que tu comprends. En français, si on a ce choix, et qu'il n'est pas vide, hop, on l'exploitera, sinon... ben rien...
Passons à la même chose en condition dite ternaire, ça donne
echo ($choix=='infos'?'selected':NULL);
Ici, en une seule ligne, on dit exactement la même chose.
$choix=='infos' étant la condition, ce qui est après le "?" veut dire "alors", et ce qui est après le ":" veut dire "sinon"...
Tout cela remis en ordre (alternance PHP et HTML) donnera
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?php
if(! empty($_POST['categorieNews'])){
$choix=$_POST['categorieNews'];
?>
<div class='col-md-12'>
<label for='categorieNews'>Catégorie de la nouvelle</label>
<select id="categorieNews" name='categorieNews' class='form-control'>
<option value="infos" <?php echo ($choix=="infos"?"selected":NULL); ?> >infos</option>
<option value="naissance" <?php echo ($choix=="naissance"?"selected":NULL); ?> >naissance</option>
<option value="décès" <?php echo ($choix=="décès"?"selected":NULL); ?> >décès</option>
<option value="santé" <?php echo ($choix=="santé"?"selected":NULL); ?> >santé</option>
</select>
</div>
<?php
}
else{
//je fais la grève.
}
?> |
Je te laisse déjà étudier ça.
Partager