Listes déroulantes liées dynamiques
Laurette35
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je vous explique donc mon problème.
Je n'arrive pas à faire fonctionner les deux listes déroulantes dynamiques.
j'ai essayée pleins de solutions conditions en php, javascript mais cela ne fonctionne pas.
j'aimerais que lorsque dans la première liste déroulante on clique sur "administration" la seconde liste déroulante s'affiche.
Voici mon code
Premiere liste déroulante
<!--::::: création du formulaire :::::-->
<form name="clavier" method="post" action="enregistrement-covoiturageoui.php" onsubmit="return Confirmation();" >
<!--::::: Content :::::-->
<div id="content">
<table width="850" border="1" align="center">
<tr>
<td width="425" align="center" id="reponse">
<!--::::: création de la liste déroulante pour le type de visiteur :::::-->
<select name="txtTypeVisiteur" id="txtTypeVisiteur" style="width: 150px" onchange="document.form1.submit();"/>
<option>- choisissez un type -</option>
<?php
require ('connexion.php');
// Requete de selection des types de visiteurs (en excluant les type qui contiennent permis)
$Requete = "Select nomtypevisiteur from TypeVisiteur where nomtypevisiteur not in ( Select nomtypevisiteur from TypeVisiteur where nomtypevisiteur like '% permis%')";
// envoi de la requete au serveur avec l'identifiant, mot de passe ... passé en début de page
$Resultat = mysql_query($Requete, $Cnx) or die ($Requete .'<br>' . mysql_error() );
$Donnees = mysql_fetch_array($Resultat);
// tant qu'il y a des lignes a la réponse, on remplis la liste des réponses
while($Donnees)
{
if($Donnees['nomtypevisiteur'] == $nomTypeVisiteur)
{
$Txt=' selected="selected"';
}
else
{
$Txt = '';
}
echo '<option'.$Txt.' value="'.$Donnees['nomtypevisiteur'].'">'.$Donnees['nomtypevisiteur'].' </option>';
$Donnees = mysql_fetch_array($Resultat);
}
mysql_free_result($Resultat);
?>
</select>
</td>
</tr>
</table>
Seconde liste déroulante
<table width="850" border="1" align="center">
<tr>
<td id="question">
<h3 class="bouton" align="center" >De quelle administration venez-vous ?</h3>
</td>
<td width="425" align="center" id="reponse">
<!--::::: création de la liste déroulante pour le type de visiteur :::::-->
<select name="txtAdministration" id="txtAdministration" style="width: 150px" onchange="document.form1.submit();" >
<option></option>
</select>
</td>
</tr>
</table>
le java
<script>
function Choix(form)
{
i = <?php $_POST['txtTypeVisiteur'] ?>;
if (i == '')
{
return;
}
else (i == 'administration')
{
<?php
require ('connexion.php');
// Requete de selection des types de visiteurs (en excluant les type qui contiennent permis)
$Requete = "Select Nomadministration from administration;";
// envoi de la requete au serveur avec l'identifiant, mot de passe ... passé en début de page
$Resultat = mysql_query($Requete, $Cnx) or die ($Requete .'<br>' . mysql_error() );
$Donnees = mysql_fetch_array($Resultat);
// tant qu'il y a des lignes a la réponse, on remplis la liste des réponses
while($Donnees)
{
if($Donnees['Nomadministration'] == $Nomadministration)
{
$Txt=' selected="selected"';
}
else
{
$Txt = '';
}
echo '<option'.$Txt.' value="'.$Donnees['Nomadministration'].'">'.$Donnees['Nomadministration'].' </option>';
$Donnees = mysql_fetch_array($Resultat);
}
mysql_free_result($Resultat);
?>
}
}
</script>
Si vous avez une solution à me proposer je suis preneuse ...
Merci d'avance
je vous explique donc mon problème.
Je n'arrive pas à faire fonctionner les deux listes déroulantes dynamiques.
j'ai essayée pleins de solutions conditions en php, javascript mais cela ne fonctionne pas.
j'aimerais que lorsque dans la première liste déroulante on clique sur "administration" la seconde liste déroulante s'affiche.
Voici mon code
Premiere liste déroulante
<!--::::: création du formulaire :::::-->
<form name="clavier" method="post" action="enregistrement-covoiturageoui.php" onsubmit="return Confirmation();" >
<!--::::: Content :::::-->
<div id="content">
<table width="850" border="1" align="center">
<tr>
<td width="425" align="center" id="reponse">
<!--::::: création de la liste déroulante pour le type de visiteur :::::-->
<select name="txtTypeVisiteur" id="txtTypeVisiteur" style="width: 150px" onchange="document.form1.submit();"/>
<option>- choisissez un type -</option>
<?php
require ('connexion.php');
// Requete de selection des types de visiteurs (en excluant les type qui contiennent permis)
$Requete = "Select nomtypevisiteur from TypeVisiteur where nomtypevisiteur not in ( Select nomtypevisiteur from TypeVisiteur where nomtypevisiteur like '% permis%')";
// envoi de la requete au serveur avec l'identifiant, mot de passe ... passé en début de page
$Resultat = mysql_query($Requete, $Cnx) or die ($Requete .'<br>' . mysql_error() );
$Donnees = mysql_fetch_array($Resultat);
// tant qu'il y a des lignes a la réponse, on remplis la liste des réponses
while($Donnees)
{
if($Donnees['nomtypevisiteur'] == $nomTypeVisiteur)
{
$Txt=' selected="selected"';
}
else
{
$Txt = '';
}
echo '<option'.$Txt.' value="'.$Donnees['nomtypevisiteur'].'">'.$Donnees['nomtypevisiteur'].' </option>';
$Donnees = mysql_fetch_array($Resultat);
}
mysql_free_result($Resultat);
?>
</select>
</td>
</tr>
</table>
Seconde liste déroulante
<table width="850" border="1" align="center">
<tr>
<td id="question">
<h3 class="bouton" align="center" >De quelle administration venez-vous ?</h3>
</td>
<td width="425" align="center" id="reponse">
<!--::::: création de la liste déroulante pour le type de visiteur :::::-->
<select name="txtAdministration" id="txtAdministration" style="width: 150px" onchange="document.form1.submit();" >
<option></option>
</select>
</td>
</tr>
</table>
le java
<script>
function Choix(form)
{
i = <?php $_POST['txtTypeVisiteur'] ?>;
if (i == '')
{
return;
}
else (i == 'administration')
{
<?php
require ('connexion.php');
// Requete de selection des types de visiteurs (en excluant les type qui contiennent permis)
$Requete = "Select Nomadministration from administration;";
// envoi de la requete au serveur avec l'identifiant, mot de passe ... passé en début de page
$Resultat = mysql_query($Requete, $Cnx) or die ($Requete .'<br>' . mysql_error() );
$Donnees = mysql_fetch_array($Resultat);
// tant qu'il y a des lignes a la réponse, on remplis la liste des réponses
while($Donnees)
{
if($Donnees['Nomadministration'] == $Nomadministration)
{
$Txt=' selected="selected"';
}
else
{
$Txt = '';
}
echo '<option'.$Txt.' value="'.$Donnees['Nomadministration'].'">'.$Donnees['Nomadministration'].' </option>';
$Donnees = mysql_fetch_array($Resultat);
}
mysql_free_result($Resultat);
?>
}
}
</script>
Si vous avez une solution à me proposer je suis preneuse ...
Merci d'avance
A voir également:
- Listes déroulantes liées dynamiques
- Listes déroulantes excel - Guide
- Listes déroulantes en cascade excel - Guide
- Tableaux croisés dynamiques - Guide
- Listes déroulantes dynamiques? - Forum Word
- Le point d'entrée de procédure est introuvable dans la bibliothèque de liens dynamiques kernel32.dll ✓ - Forum Windows 7
1 réponse
fais une recherche sur ce forum "listes deroulantes liees"
et
- ne pas confondre java et javascript
- tu peux utliser 2 méthodes:
-- > en php: sur le onchange liste 1 tu fais submit ça va ré-afficher la page avec la liste 2 complétée
-- >en Ajax: sur le onchange liste 1l appelle la fct Ajax Httprequest qui va appeler un script php sur le serveur et la réponse va faire apparaitre la liste 2 (complétée) sans rechargement de la page
et
- ne pas confondre java et javascript
- tu peux utliser 2 méthodes:
-- > en php: sur le onchange liste 1 tu fais submit ça va ré-afficher la page avec la liste 2 complétée
-- >en Ajax: sur le onchange liste 1l appelle la fct Ajax Httprequest qui va appeler un script php sur le serveur et la réponse va faire apparaitre la liste 2 (complétée) sans rechargement de la page