Liste deroulante ds 1 formulaire ->table Mysq
Benjamin
-
Sardino Messages postés 381 Statut Membre -
Sardino Messages postés 381 Statut Membre -
Bonjour,
Je fais un formulaire HTML qui est traite avec un script php, et je voudrais proposer a
l'utilisateur :
- de choisir un "Centre". Je veux donc lui proposer un menu deroulant (balises <select et
<option...) qui va proposer des valeurs de "Centre" presentes dans une table de ma BD Mysql. (ma
table centre etant deja remplie)
Ainsi, il choisit son centre et la valeur choisie pourra etre traitee par le script plus tard.
Comment proposer des valeurs venant de la consultation d'une table sous Mysql ??
Merci
Salut
Je fais un formulaire HTML qui est traite avec un script php, et je voudrais proposer a
l'utilisateur :
- de choisir un "Centre". Je veux donc lui proposer un menu deroulant (balises <select et
<option...) qui va proposer des valeurs de "Centre" presentes dans une table de ma BD Mysql. (ma
table centre etant deja remplie)
Ainsi, il choisit son centre et la valeur choisie pourra etre traitee par le script plus tard.
Comment proposer des valeurs venant de la consultation d'une table sous Mysql ??
Merci
Salut
A voir également:
- Liste deroulante ds 1 formulaire ->table Mysq
- Liste déroulante excel - Guide
- Whatsapp formulaire opposition - Guide
- Liste déroulante en cascade - Guide
- Table ascii - Guide
- Table des matières word - Guide
2 réponses
Salut Benjamin !
Et bien, c'est assez simple, mais il faut que tu précises la structure de ta base. Si tu as une table centre, qui conprend une entrée nom_centre et un index index_centre, tu envois la requête :
<?
$sql = "SELECT * FROM centre WHERE 1";
?>
Tu envois ta requête... et tu obtiens un resultat. Moi, j'utilise parfois ces deux fonctions bien pratiques (il existe d'autres solutions, dont certaines utilisent l'objet, mais pour un début...) :
<?
function connect() {
$host="ton_hote";
$user="ton_nom_d_user";
$pass="ton_mot_de_passe";
if (! $linkid=mysql_connect("$host","$user","$pass")) {
echo "Impossible de se connecter à ",$host,"<br>";
exit;
}
return $linkid;
}
function send_sql($sql) {
$db="le_nom_de_ta_base"
$linkid=connect();
if (! $result=mysql_db_query($db,$sql)) {
echo mysql_error();
exit;
}
return $result;
mysql_close($linkid);
}
?>
Donc, tu envois ta requete :
<?
$resultat=send_sql($sql);
?>
Et tu liste les éléments obtenus, pour définir les options :
<select name="centre">
<option value="" >Selectionnez ici le centre</option>
<?
While ($res=mysql_fetch_object($result)){
echo ('<option value="'.$res->index_centre.'">'.$res->nom_centre.'</option>');
}
?>
</select>
Et voilà !!!
[ Méfiez-vous des filets dérivants de la vie... ]
Et bien, c'est assez simple, mais il faut que tu précises la structure de ta base. Si tu as une table centre, qui conprend une entrée nom_centre et un index index_centre, tu envois la requête :
<?
$sql = "SELECT * FROM centre WHERE 1";
?>
Tu envois ta requête... et tu obtiens un resultat. Moi, j'utilise parfois ces deux fonctions bien pratiques (il existe d'autres solutions, dont certaines utilisent l'objet, mais pour un début...) :
<?
function connect() {
$host="ton_hote";
$user="ton_nom_d_user";
$pass="ton_mot_de_passe";
if (! $linkid=mysql_connect("$host","$user","$pass")) {
echo "Impossible de se connecter à ",$host,"<br>";
exit;
}
return $linkid;
}
function send_sql($sql) {
$db="le_nom_de_ta_base"
$linkid=connect();
if (! $result=mysql_db_query($db,$sql)) {
echo mysql_error();
exit;
}
return $result;
mysql_close($linkid);
}
?>
Donc, tu envois ta requete :
<?
$resultat=send_sql($sql);
?>
Et tu liste les éléments obtenus, pour définir les options :
<select name="centre">
<option value="" >Selectionnez ici le centre</option>
<?
While ($res=mysql_fetch_object($result)){
echo ('<option value="'.$res->index_centre.'">'.$res->nom_centre.'</option>');
}
?>
</select>
Et voilà !!!
[ Méfiez-vous des filets dérivants de la vie... ]
Au fait, tu passes par index_centre pour afficher les choix dans ma liste... tu veux dire par index la cle primaire dans ma table.
ou bien on peut gerer cela sans passer par l'index (qui est une notion un peu floue pour moi désolé)
Merci
Et bien tu n'es pas obligé de passer par l'index. Tu peux transmettre le nom du centre si tu veux. Et tu n'es pa s obligé non plus de tout sélectionner de la table centre dans ta requête. Tu ne peux sélectionner que nom_centre par exemple.
J'ai utilisé l'index parce qu'en cas de table croisée, ou de changement de nom, c'est souvent plus simple à gérer.
Mais ne connaissant la structure de ta table...
@+@tous
[ Méfiez-vous des filets dérivants de la vie... ]