Menu déroulant php
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
gasper -
gasper -
Bonjour,
Pour créer une sélection déroulante dans un menu, on peut faire ainsi :
Si je veux entrer les données du menu déroulant (France, Belgique, Suisse, .....) dans un base de donnée, comment écrire le menu en php ?
Merci.
Pour créer une sélection déroulante dans un menu, on peut faire ainsi :
<label for="pays">Pays</label> <select name="pays" id="pays"> <option value="1" >France</option> <option value="2" >Belgique</option> <option value="4" >Suisse</option> <option value="8" >Maroc</option> </select>
Si je veux entrer les données du menu déroulant (France, Belgique, Suisse, .....) dans un base de donnée, comment écrire le menu en php ?
Merci.
A voir également:
- Menu déroulant php
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Supprimer menu déroulant excel - Forum Excel
- Easy php - Télécharger - Divers Web & Internet
8 réponses
Salut
Le menu reste écrit en HTML, et tu envoies le formulaire à une page en PHP pour traiter l'ajout des données dans la base de données.
Un tutoriel ici : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Et ça ne m'a pris que 2 min à chercher sur Google. Là franchement, ouvrir un topic pour ça, ça ne vaut pas le coup. La prochaine fois, cherche un peu !
GNU/Linux Debian 6.0 Squeeze
Firefox 5.0
Le menu reste écrit en HTML, et tu envoies le formulaire à une page en PHP pour traiter l'ajout des données dans la base de données.
Un tutoriel ici : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Et ça ne m'a pris que 2 min à chercher sur Google. Là franchement, ouvrir un topic pour ça, ça ne vaut pas le coup. La prochaine fois, cherche un peu !
GNU/Linux Debian 6.0 Squeeze
Firefox 5.0
Merci unix91. Mais il me semble que je me suis mal exprimé.
Au lieu de lire :
Si je veux entrer les données du menu déroulant (France, Belgique, Suisse, .....) dans un base de donnée, comment écrire le menu en php ?
il faudrait plutôt lire :
comment créer un menu déroulant colmportant des choix issus d'un base de donnée
C'est à dire que dans mon exemple, France + Belgique + Suisse + Maroc seraient des enregistrement d'une table d'une base de données.
Merci, et désolé pour le mal exprimé ....... ;o(
Au lieu de lire :
Si je veux entrer les données du menu déroulant (France, Belgique, Suisse, .....) dans un base de donnée, comment écrire le menu en php ?
il faudrait plutôt lire :
comment créer un menu déroulant colmportant des choix issus d'un base de donnée
C'est à dire que dans mon exemple, France + Belgique + Suisse + Maroc seraient des enregistrement d'une table d'une base de données.
Merci, et désolé pour le mal exprimé ....... ;o(
echo
Faites une requête des noms des pays sur la table puis avec une boucle comme ceci:
echo est la seule fonction vraiment utile en php.
J'ai corrigé le option value="1" qui ne veut strictement rien dire, car comment pouvez vous savoir que le 1 correspond à la France? C'est peut être le cas aujourd'hui mais imaginez que la table change...Mettez l'id de la table si vous préférez utiliser celle ci dans l'envoi du formulaire(ce qui implique une requête sur les champs des noms des pays et de la clé primaire):
Voici avec un tableau à 2 dimensions:
Plutôt simple non?
Moi j'en ai une que j'aime bien:
Plus rapide que s'il fallait taper toutes les années à la main :)
Faites une requête des noms des pays sur la table puis avec une boucle comme ceci:
<label for="pays">Pays</label> <select name="pays" id="pays"> <?php for($i=0; $i++; $i<count($liste_pays[]) /* count() renvoies le nombre de lignes, donc le nombre de résultat obtenus par la requête*/ { echo "<option value='".$liste_pays[$i]."' >.$liste_pays[$i].</option>"; } ?> </select>
echo est la seule fonction vraiment utile en php.
J'ai corrigé le option value="1" qui ne veut strictement rien dire, car comment pouvez vous savoir que le 1 correspond à la France? C'est peut être le cas aujourd'hui mais imaginez que la table change...Mettez l'id de la table si vous préférez utiliser celle ci dans l'envoi du formulaire(ce qui implique une requête sur les champs des noms des pays et de la clé primaire):
Voici avec un tableau à 2 dimensions:
for($i=0; $i++; $i<count($liste_pays[$id]) { echo "<option value='".$liste_pays[$id][$i]."' >.$liste_pays[$nom_pays][$i].</option>"; } ?> </select>
Plutôt simple non?
Moi j'en ai une que j'aime bien:
<code> <select name="anneenaissance"> <?php for($i=1900; $i++;$i<2010) { echo "<option value='".$i."'"; if($i==1980){ echo " selected='selected'";/* avec ça je décides que l'e select sera sur 1980, qui correspond à une date moyenne et évites de faire tout l'ascenseur à partir de 1900 ou 2010 - bon c'est sûr les gens nés en 2010 qui remplissent des formulaires courent pas les rues mais j'aurais pas à modifier avant 10ans au moins*/ } echo ">$i</option>"; } ?> </select>
Plus rapide que s'il fallait taper toutes les années à la main :)
salut, tu peux essayer un truc comme ca si j'ai compris ton problème
$requete="select * from location";
$result=mysql_query($requete,$cnx);
echo "<select name='location[]'>";
echo "<option value='0'> </option>";
while($val = mysql_fetch_row($result))
{
echo "<option value =".$val[0]."> ".$val[1]." loué ".$val[2]."</option>";
}
echo "</select>";
bon courage our la suite
$requete="select * from location";
$result=mysql_query($requete,$cnx);
echo "<select name='location[]'>";
echo "<option value='0'> </option>";
while($val = mysql_fetch_row($result))
{
echo "<option value =".$val[0]."> ".$val[1]." loué ".$val[2]."</option>";
}
echo "</select>";
bon courage our la suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord, c'était mal formulé en effet, désolé. Avec ce qui est dit au-dessus, tu devrais pouvoir t'en sortir. Bonne chance !
OK !!!! Merci à tous ! Effectivement, avec tout cela je devrais m'en sortir ..... :o)
Au pire, je reviendrais vers vous ! ;o)
Merci encore !
Au pire, je reviendrais vers vous ! ;o)
Merci encore !
Bonjour.
J'ai opté pour la solution de "gasper", qui est plus proche de mes habitudes.
Et voici ce que j'ai écrit :
En premier lieu, j'affiche un déroulant avec des noms de pays :
Puis un deuxième déroulant qui comporte les départements du pays choisis :
Donc là, je lis la table "france", et j'affiche dans un menu déroulant les départements (cp=code postaux).
Je voudrais que, si je sélectionne un autre pays que la France, la requête de recherche des départements se fasse automatiquement.
Donc, en supposant que je sélectionne la Belgique dans mon premier déroulant, les départements de Belgique se retrouveraient automatiquement dans mon deuxième déroulant.
Merci
J'ai opté pour la solution de "gasper", qui est plus proche de mes habitudes.
Et voici ce que j'ai écrit :
En premier lieu, j'affiche un déroulant avec des noms de pays :
<select name="ctls_pays"> <option value="1" selected="selected">France</option> <option value="2" >Belgique</option> <option value="4" >Suisse</option> <option value="8" >Maroc</option> </select>
Puis un deuxième déroulant qui comporte les départements du pays choisis :
$requete = "SELECT * FROM france ORDER BY cp ASC"; $result = mysql_query($requete,$link) or die ('Erreur : '.mysql_error() ); echo 'Département '; echo "<select name='france[]'>"; echo "<option value='0'></option>"; while($val = mysql_fetch_row($result)) { echo "<option value =".$val[0]."> ".$val[1]." - ".$val[2]."</option>"; } echo "</select>";
Donc là, je lis la table "france", et j'affiche dans un menu déroulant les départements (cp=code postaux).
Je voudrais que, si je sélectionne un autre pays que la France, la requête de recherche des départements se fasse automatiquement.
Donc, en supposant que je sélectionne la Belgique dans mon premier déroulant, les départements de Belgique se retrouveraient automatiquement dans mon deuxième déroulant.
Merci
salut
pour faire ceci, il te faut selectionner le pays, faire un refresh de la page avec le pays comme variable de recherche des départements. J'ai fait ça pour une gestion d'equipages régatiers
voici en partie mon code
echo "<form method='post' action='suite_modifications.php'><br>";
$requete="select * from equipage where num_engagement='$num' and annee='$annee'";
$result=mysql_query($requete,$cnx);
echo "<select onchange='this.form.submit()' name='equipier[]' align='center'>";
echo "<option> ".$pre_equip." ".$equip."</option>";//ca c'est juste pour la beaute de la presentation
while($val = mysql_fetch_row($result))
{
echo "<option value =".$val[2]."> ".$val[3]." ".$val[2]."</option>";
}
echo "</select></td></tr></table></form>";
Tu récupères $equipier[], pour toi pays, pour lancer ta requête. Tu devrais par défaut mettre en début de page ta variable sur france avec un truc style
if (!isset($_POST['equipier']){$pays="france";}else{$pays=$_POST['equipier'];}Attention aux array :o)
bon courage
pour faire ceci, il te faut selectionner le pays, faire un refresh de la page avec le pays comme variable de recherche des départements. J'ai fait ça pour une gestion d'equipages régatiers
voici en partie mon code
echo "<form method='post' action='suite_modifications.php'><br>";
$requete="select * from equipage where num_engagement='$num' and annee='$annee'";
$result=mysql_query($requete,$cnx);
echo "<select onchange='this.form.submit()' name='equipier[]' align='center'>";
echo "<option> ".$pre_equip." ".$equip."</option>";//ca c'est juste pour la beaute de la presentation
while($val = mysql_fetch_row($result))
{
echo "<option value =".$val[2]."> ".$val[3]." ".$val[2]."</option>";
}
echo "</select></td></tr></table></form>";
Tu récupères $equipier[], pour toi pays, pour lancer ta requête. Tu devrais par défaut mettre en début de page ta variable sur france avec un truc style
if (!isset($_POST['equipier']){$pays="france";}else{$pays=$_POST['equipier'];}Attention aux array :o)
bon courage