Changer le nom d'une variable à l'affichage

Eléphanteau du PHP | 31 Messages

22 juil. 2014, 12:21

Bonjour
Voilà mon souci :
J'ai un formulaire grâce auquel un utilisateur peut choisir les résultats qu'il veut afficher, via plusieurs listes "select" :
Par exemple :
<a>Contamination :</a>
<select name="contam">
<option value >Indifférent</option>
<option value="CONTAM1">Contamination faible</option>
<option value="CONTAM2">Contamination moyenne</option>
<option value="CONTAM3">Contamination forte</option></select>

Dans la page cible, je veux que s'affiche un rappel des critères choisis, ce que j'arrive à faire avec $_POST :
<u>Niveau de contamination</u> : <?php echo $_POST["contam"]; ?>

Mais là, ça va m'afficher par exemple "CONTAM1" ce qui n'est pas très parlant pour l'utilisateur !
Comment faire pour que s'affiche "Contamination faible" à la place ?

J'ai essayé avec "as" dans l'option value, style :
<option value="CONTAM1" as "Contamination faible">Contamination faible</option>
mais ça ne fonctionne pas..

Si vous savez me dépanner… merci d'avance !!!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 juil. 2014, 12:28

Salut,

Il ta faut récupèrer l'info a la source.
Est ce que c'est une valeur "en dur" ou une info issue d'une base ou autre ?

Si c'est issu d'une base tu fait un select.
Sinon il te faut un tableau avec les infos dedans.

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 1339 Messages

22 juil. 2014, 12:33

Tu fais ca :

<select name="contam">
<?php $array( = 'CONTAM1' => 'Contamination faible', 'CONTAM2' => 'Contamination moyenne', 'CONTAM3' => 'Contamination forte');
foreach($array as $key => $val) {
echo '<option value="'.$key.'">'.$val.'</option>';
} ?>
</select>
Et tu feras
echo $array[$_POST['contam']];
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 31 Messages

22 juil. 2014, 12:39

Bonjour Moogli
C'est une base mySQL.
Mon code fonctionne sans souci et je récupère ma variable, je veux juste pouvoir lui donner un autre nom qui serait plus parlant pour l'utilisateur.
Je pensais que c'était peut-être possible direct dans le php, sans avoir à modifier la base..

...
Ah yes ! Merci Elie !!
je regarde si ça fonctionne !

Mammouth du PHP | 1339 Messages

22 juil. 2014, 12:44

Inverse le = et le (
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 juil. 2014, 12:48

Ben non si la liste est en base tu fait un select tu va utiliser une tableau en dur dans le code ^^
Si tu tiens au tableau alimente le lors de la création du select et met le session.

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 31 Messages

22 juil. 2014, 13:18

Merci à tous les 2
J'ai compris le principe.
Pour l'instant, j'ai une page blanche qui s'affiche avec le code (v2) d'Elie.. mais je sens que ça vient...