Un <select> a la place d'un <input>

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Un <select> a la place d'un <input>

par newbee » 17 févr. 2006, 17:28

YES, juste mettre les <options...> dans la boucle.
Evidemment ;)

Merci à tous.
Et un petit [résolu] de plus, un!

par charabia » 17 févr. 2006, 16:38

Bé tu as quasiment tout fait lol
<?php
Param de connexion... 
$sql3='SELECT ville from entite'; 
$req3='mysql_query($sql3) or die ... ';
?>
<select>
<?php
while ($data3 = mysql_fetch_assoc ($req3)) 
{ 
  $ville = $data3['ville'];
  echo '<option value="'.$ville.'">'.$ville.'</option>';
}
?>
</select>

par newbee » 17 févr. 2006, 15:58

Bon, ça ne marche pas comme je veux. Donc je vais faire plus simple.
Juste le menu deroulant avec la liste des villes dedans.

=> mon code
Param de connexion...
$sql3='SELECT ville from entite';
$req3='mysql_query($sql3) or die ... ;
=> mon tableau (ici je pense le soucis)
while ($data3 = mysql_fetch_assoc ($req3))
 {
  $ville = $data3['ville'];
 }
=> Mon select
<select>
<option value="<?php echo $ville; ?>"><?php echo ville; ?></option>
</select> 
Vous pouvez m'aider siouplait?

par charabia » 17 févr. 2006, 13:17

Si tu utilises une base de données oui c'est ça ;)

Au lieu de "*", si tu récupères juste le champ ville, fait un "SELECT ville FROM liste_villes" au cas où tu aurais d'autres champs en plus de la ville, ce qui sera sûrement la cas ;)

par newbee » 17 févr. 2006, 13:09

Mais je ne vois pas ou rentrer toute ma liste de ville...
Dans ta base de données ;)
Donc il faut que je me crée une nouvelle table avec toute mes villes dans ma Bdd, puis que je fasse un :
$sql = 'SELECT * FROM liste_villes ';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br > '.mysql_error());
dans ma page, j'imagine?

Est ce que je me trompe?

par Ryle » 17 févr. 2006, 13:02

Tout dépend comment est géré ta liste de ville... si c'est dans une base de données, tu viens la lire et tu boucles sur chaque enregistrement. Si c'est dans un tableau php, idem.
Si tu n'as pas de liste en base, tu peux tout aussi bien faire un select en dur en html :)

Code : Tout sélectionner

<select name="ville"> <option>Milan</option> <option>New York</option> <option>Paris</option> <option>Melun Sud</option> ... <select>

par charabia » 17 févr. 2006, 12:59

Le champ value n'est pas obligatoire si c'est le même que le texte affiché. En cas d'absence, c'est le libellé qui est envoyé comme valeur :)
<select name="ville"> 
<option><?php echo ville_aff; ?></option> 
...
</select> 
fonctionnera donc tout aussi bien :)
one point ;)
Merci, ultra rapide!

Mais je ne vois pas ou rentrer toute ma liste de ville...
Dans ta base de données ;)

par newbee » 17 févr. 2006, 12:57

Merci, ultra rapide!

Mais je ne vois pas ou rentrer toute ma liste de ville...


Pardonnez mon ignorance, un jour viendra ou...

par Ryle » 17 févr. 2006, 12:54

Le champ value n'est pas obligatoire si c'est le même que le texte affiché. En cas d'absence, c'est le libellé qui est envoyé comme valeur :)
<select name="ville"> 
<option><?php echo ville_aff; ?></option> 
...
</select> 
fonctionnera donc tout aussi bien :)

par charabia » 17 févr. 2006, 12:44

<?php
if (isset($_POST['ville']))
{
$ville_aff = stripslashes(htmlentities(trim($_POST['ville'])));
?>
<select>
/* BOUCLE ICI */
<option value="<?php echo $ville_aff; ?>"><?php echo ville_aff; ?></option>
/* FIN BOUCLE ICI */
</select>
<?php
}
else
{blabla}
?>
Le isset peut se mettre à un autre niveau ;)

Un <select> a la place d'un <input>

par newbee » 17 févr. 2006, 12:35

Bonjour à tous, c'est encore moi!

J'ai récupéré, lors d'un précédent post, un morceau de code pour inserer un nouvel utilisateur dans ma Bdd. Etant encore en apprentissage Php, je n'ai pas tout dercypté, donc pas tout compris, donc galère pour la modif que je veux faire...

Pour l'instant j'ai plusieurs champs à remplir qui se présentent sous la forme :
<input name="ville" type="text" value="<?php if (isset($_POST['ville'])) echo stripslashes(htmlentities(trim($_POST['ville']))); ?>" size="90">
Je voudrais remplacer un de ces champs par un menu deroulant <select...>.
Mais que dois-je mettre dans mes différentes "values" dans les options que je devrais choisir?
En plus clair :
<option value="[b]???[/b]"> ville 1 </option>
<option value="[b]re-???[/b]"> ville 2 </option>
etc...
Merci d'avance :)