ce que je dois mettre avec select?
le 05/07/2008 à 19:55
je suis entrain de faire une requête de 'insert' dans ma base de données, mon problème est au niveau d'une zone de texte je met
<?php < td > < input type = "text" name = "auteur" maxlength = "50" size = "50" value = " <?php if (isset( $_POST [ 'auteur'])) echo htmlentities(trim( $_POST [ 'auteur'])); ?> " > < / td > ?> et au niveau du textarea je met
<?php < td > < textarea name = "titre" cols = "38" rows = "4" > < ? php if ( isset ( $_POST [ 'titre' ] ) ) echo htmlentities ( trim ( $_POST [ 'titre' ] ) ) ; ?> </textarea></td> ?> mais au niveau d'une liste déroulante j'ai pas trouvé ce qu'il faut mettre pour que mes données aparaissent dans ma base
<?php < td > < select name = "siecle" > < option > <> < / option > < option > M . Age < / option > < option > XVI < / option > < option > XVII < / option > < option > XVIII < / option > < option > XIX < / option > < option > XX < / option > < / select > < / td > ?>
il ce peux que la réponse est facile mais je me suis bloqué et je demande de l'aide
le 05/07/2008 à 21:48
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Il faut que tu précises certaines choses dans les options de ta liste déroulante :
<td> <s elect name="siecle"> <option><></option> <option value='ma'>M. Age</option> <option value='xvi'>XVI</option> <option value='xvii'>XVII</option> <option value='xviii'>XVIII</option> <option value='xix'>XIX</option> <option value='xx'>XX</option> </select> </td>
Par contre, je ne comprends pas bien : tu veux afficher la liste en fonction de ce que tu as dans ta base, ou tu veux ajouter un auteur dans ta base en fonction des données soumises ?
le 05/07/2008 à 22:49
je veux ajouter ce type de chose dans ma liste déroulante
<?php if ( isset ( $_POST [ 'siecle' ] ) ) echo htmlentities ( trim ( $_POST [ 'siecle' ] ) ) ; ?>
et j'ai pas trouvé le bon emplacement
le 06/07/2008 à 01:03
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Donc en fait, tu souhaites que l'élément de la liste déroulante soumise soit affichée.
En fait, il faut rajouter l'attribut selected.
<?php
$centuries = array ( 'ma' => 'Moyen-âge' , 'xvi' => 'XVI' , 'xvii' => 'XVII' , 'xviii' => 'XVIII' , 'xix' => 'XIX' , 'xx' => 'XX' ) ; ?>
<td> <s elect name="siecle"> <option><></option> <?php foreach ( $centuries as $value => $label ) : ?>
<option value=' <?php echo $value ; ?> ' <?php if ( $value == $_POST [ 'siecle' ] ) : ?>
selected='selected' <?php endif ; ?>
> <?php echo $label ; ?> </option> <?php endforeach ; ?>
</select> </td>
le 06/07/2008 à 19:08
merci mais j'ai rencontrer un erreur de type Undefined index : siecle, dans chaque élèment de la liste de select, dans la ligne
<?php if ( $value == $_POST [ 'siecle' ] ) : ?>
le 06/07/2008 à 20:13
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
À ben forcément, j'ai oublié un truc tout con, c'est de vérifier que $_POST['siecle'] existe. Mais ça, tu sais le faire vu que tu l'as déjà fait.
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter