Liste déroulante liée avec php
emma
-
totodunet Messages postés 1377 Date d'inscription Statut Membre Dernière intervention -
totodunet Messages postés 1377 Date d'inscription Statut Membre Dernière intervention -
bonsoir tous,j’aimerais savoir si il est possible de gérer des listes déroulantes en php seulement ctd le chargement auto de la deuxième liste dépend du choix sélectionner dans la première
j'utilise ce code qui me renvoi pas un erreur mais rien s'affiche dans la 2eme liste
merci d'avance pour votre aide
///////////////////////////////////////
<form method="post" action="fonction_php/ajout_cstr.php" >
<tr>
<td class="theme">thème</td ><td>
<select name="theme" id="theme" >
<?php
$sqli = mysqli_connect('localhost', 'root', '', 'gestion_des_requetes') or die(mysqli_error($sqli));
$req="SELECT libelle_theme FROM theme";
$res=mysqli_query($sqli, $req) or die("Erreur SQL : <br>".mysqli_error());
$compt=mysqli_num_rows($res);
if(!empty($compt)){
while($l=mysqli_fetch_assoc($res)){
foreach($l as $v){
?>
<option><?php echo "$v"; ?></option>
<?php
}
}
}
?>
</select>
</td>
<td class="stheme">sous_thème</td ><td>
<select name="sous_theme" id="sous_theme" >
<?php
$sqli = mysqli_connect('localhost', 'root', '', 'gestion_des_requetes') or die(mysqli_error($sqli));
/*
if (isset($_POST['theme']))
{
$choix = $_POST['theme'];
$req1= ("SELECT id_theme FROM theme WHERE libelle_theme==' $choix' ");
$res1=mysqli_query($sqli, $req1) or die("Erreur SQL : <br>".mysqli_error());
$compt1=mysqli_num_rows($res1);
if (isset($_POST['theme']))
{
$choix = $_POST['theme'];
$reponse =("SELECT id_theme FROM theme WHERE libelle_theme='$choix' ");
$result=mysqli_query($sqli, $reponse) or die("Erreur SQL : <br>".mysqli_error());
/*-------------------------------------------------*/
$req="SELECT libelle_sous_theme FROM sous_theme where sous_theme.id_theme=$reponse";
$res=mysqli_query($sqli, $req) or die("Erreur SQL : <br>".mysqli_error());
$compt=mysqli_num_rows($res);
if(!empty($compt)){
while($l=mysqli_fetch_assoc($res)){
foreach($l as $v){
?>
<option><?php echo "$v"; ?></option>
<?php
}
}
}
}
?>
</select>
</td>
</tr>
j'utilise ce code qui me renvoi pas un erreur mais rien s'affiche dans la 2eme liste
merci d'avance pour votre aide
///////////////////////////////////////
<form method="post" action="fonction_php/ajout_cstr.php" >
<tr>
<td class="theme">thème</td ><td>
<select name="theme" id="theme" >
<?php
$sqli = mysqli_connect('localhost', 'root', '', 'gestion_des_requetes') or die(mysqli_error($sqli));
$req="SELECT libelle_theme FROM theme";
$res=mysqli_query($sqli, $req) or die("Erreur SQL : <br>".mysqli_error());
$compt=mysqli_num_rows($res);
if(!empty($compt)){
while($l=mysqli_fetch_assoc($res)){
foreach($l as $v){
?>
<option><?php echo "$v"; ?></option>
<?php
}
}
}
?>
</select>
</td>
<td class="stheme">sous_thème</td ><td>
<select name="sous_theme" id="sous_theme" >
<?php
$sqli = mysqli_connect('localhost', 'root', '', 'gestion_des_requetes') or die(mysqli_error($sqli));
/*
if (isset($_POST['theme']))
{
$choix = $_POST['theme'];
$req1= ("SELECT id_theme FROM theme WHERE libelle_theme==' $choix' ");
$res1=mysqli_query($sqli, $req1) or die("Erreur SQL : <br>".mysqli_error());
$compt1=mysqli_num_rows($res1);
- /
if (isset($_POST['theme']))
{
$choix = $_POST['theme'];
$reponse =("SELECT id_theme FROM theme WHERE libelle_theme='$choix' ");
$result=mysqli_query($sqli, $reponse) or die("Erreur SQL : <br>".mysqli_error());
/*-------------------------------------------------*/
$req="SELECT libelle_sous_theme FROM sous_theme where sous_theme.id_theme=$reponse";
$res=mysqli_query($sqli, $req) or die("Erreur SQL : <br>".mysqli_error());
$compt=mysqli_num_rows($res);
if(!empty($compt)){
while($l=mysqli_fetch_assoc($res)){
foreach($l as $v){
?>
<option><?php echo "$v"; ?></option>
<?php
}
}
}
}
?>
</select>
</td>
</tr>
A voir également:
- Liste déroulante liée avec php
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Easy php - Télécharger - Divers Web & Internet
2 réponses
salut,
"le chargement auto de la deuxième liste dépend du choix sélectionner dans la première"
si tu veux que le serveur charge la deuxième liste, oui le PHP est une solution (nécessite du coup d'envoyer le premier choix au serveur, ce que je ne vois pas dans le code). Par contre si c'est côté client faut le faire en JavaScript.
Qui ne tente rien n'a rien
"le chargement auto de la deuxième liste dépend du choix sélectionner dans la première"
si tu veux que le serveur charge la deuxième liste, oui le PHP est une solution (nécessite du coup d'envoyer le premier choix au serveur, ce que je ne vois pas dans le code). Par contre si c'est côté client faut le faire en JavaScript.
Qui ne tente rien n'a rien
Bonjour,
Si tu veux faire qu'en php, tu dois envoyer les données du premier formulaire vers un second. Exemple :
Page1.php :
Page2.php :
Cordialement,
Si tu veux faire qu'en php, tu dois envoyer les données du premier formulaire vers un second. Exemple :
Page1.php :
<form action="page2.php">
Ton select et ton submit
</form>
Page2.php :
<form>
Ton select et ton submit en fonction des données récupérer de ton premier select
</form>
Cordialement,
si tu veux tout faire en php, tu as pas d'autre choix que de faire 2 formulaires distincts. Un pour le premier choix et un pour le second. L'utilisateur retourne le premier choix au serveur qui en fonction de ça génère le second formulaire qu'il va bien. Tu dois donc avoir un submit pour le premier choix et un autre lorsque l'utilisateur aura validé son 2ème.