ce que je dois mettre avec select?

Répondre
BIO
BIO
Déconnecté
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
  1. <?php <td><input type="text" name="auteur" maxlength="50" size="50" value="<?php if (isset($_POST[ 'auteur'])) echo htmlentities(trim($_POST[ 'auteur'])); ?>"></td>  
  2. ?> 
et au niveau du textarea je met
  1. <?php <td><textarea name="titre" cols="38" rows="4"><?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?></textarea></td>
  2. ?> 
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
  1. <?php <td><select name="siecle">  
  2. <option ><></option>  
  3. <option >M. Age</option>  
  4. <option >XVI</option>  
  5. <option >XVII</option>  
  6. <option >XVIII</option>  
  7. <option >XIX</option>  
  8. <option >XX</option>  
  9. </select></td>?> 

il ce peux que la réponse est facile mais je me suis bloqué et je demande de l'aide
LupusMic
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 :

  1. <td>
  2. <select name="siecle">
  3. <option>&lt;&gt;</option>
  4. <option value='ma'>M. Age</option>
  5. <option value='xvi'>XVI</option>
  6. <option value='xvii'>XVII</option>
  7. <option value='xviii'>XVIII</option>
  8. <option value='xix'>XIX</option>
  9. <option value='xx'>XX</option>
  10. </select>
  11. </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 ?
BIO
BIO
Déconnecté
je veux ajouter ce type de chose dans ma liste déroulante
  1. <?php if (isset($_POST[ 'siecle'])) echo htmlentities(trim($_POST[ 'siecle'])); ?> 

et j'ai pas trouvé le bon emplacement
LupusMic
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.

  1. <?php
  2. $centuries = array 
  3.    ( 'ma' => 'Moyen-âge' 
  4.    , 'xvi' => 'XVI' 
  5.    , 'xvii' => 'XVII' 
  6.    , 'xviii' => 'XVIII' 
  7.    , 'xix' => 'XIX' 
  8.    , 'xx' => 'XX' 
  9.    ) ;  
  10. ?>
  11. <td>
  12.    <select name="siecle">
  13.       <option>&lt;&gt;</option>
  14. <?php foreach($centuries as $value => $label) : ?>
  15.       <option value='<?php echo $value ; ?>'
  16. <?php    if($value == $_POST['siecle']) : ?>
  17.             selected='selected'
  18. <?php   endif ; ?>
  19.             ><?php echo $label ; ?></option>
  20. <?php endforeach ; ?>
  21.    </select>
  22. </td> 
BIO
BIO
Déconnecté
merci mais j'ai rencontrer un erreur de type Undefined index : siecle, dans chaque élèment de la liste de select, dans la ligne
  1. <?php if($value == $_POST['siecle']) : ?> 
LupusMic
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.
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog