2 listes deroulantes dont l une dependant de l autre

xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005 - 19 oct. 2004 à 15:38
xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005 - 22 oct. 2004 à 11:52
bonjour,

J ai un code qui fait apparaitre dans une liste deroulante toutes les valeurs de la rubrique "nom" de ma base. Ce que j aimerais faire a present est que selon le nom "checké" dans cette liste, que tous les prenoms ayant ce nom de famille dans ma base apparaissent dans une segonde liste deroulante.

Voici le code de la liste deroulante "nom":

<?php
// debut du formulaire menu
echo "<select>";
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '') OR DIE (mysql_error());
// on sélectionne la base
mysql_select_db('smoby',$db);
// requete
$requete=mysql_query("SELECT prenom FROM datos ORDER BY prenom");

echo mysql_error();
$nblignes = mysql_numrows($requete);
for ($i=0;$i<$nblignes;$i++) {
$prenom = mysql_result($requete,$i,"prenom");
echo "<option value=$prenom> $prenom </option>";
}

echo '</select>';
?>
</head>



</html>

Une idee?? un tuto? un lien???

Merci
xabi

7 réponses

xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005
19 oct. 2004 à 18:47
J ai 1 table avec 2 champs nom et prenom.....la 1ere liste selectionne les noms et suivant les noms selectionnes, tous les prenoms ayant le meme nom doivent apparaitre dans la 2 eme liste.....
Quand je lance le php, la 2eme liste est toujours vide!!!
Voila le code:

<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '') OR DIE (mysql_error());

// on sélectionne la base
mysql_select_db('smoby',$db);
$SQL="SELECT * FROM datos";
$result = mysql_query($SQL);

?>
<script language="JavaScript"><!--
liste=new Array()
liste[0]=new Array("vide !","")
<?

while ($val = mysql_fetch_array($result)) {
$SQL2 = "select prenom from datos";
$SQL2 .= $val["id"];
$result2 = mysql_query($SQL2);
?> liste[<?echo $val["id"];?>]=new Array(<?
while ($val2 = mysql_fetch_array($result2))
echo """.$val2["prenom"]."",";
?>"")
<? }
?>
function changeliste() {
choix=document.monform.listeA.value
t="<select name='listeB'>"
for(i=0;i<liste[choix].length-1;i++)
t+="<option>"+liste[choix][i]+"</option>"
document.monform.listeB.outerHTML=t+"</select>"
}
--></script>
<form name="monform">
<select name="listeA" onchange=changeliste()>
<option value=0>Choisit une liste</option>
<?
mysql_data_seek($result,0); // movefirst
while ($val = mysql_fetch_array($result)) {
?> <option value=<?echo $val["id"];?>><?
echo $val["nom"];?></option>
<? }
mysql_close(); ?>
</select><select name="listeB">
<option>vide !</option>
</select>

</form>

Si vous pouviez m aider.....

merci
xav
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
21 oct. 2004 à 16:25
Voici mon code :

AFFICHER UNE LISTE DÉROULANTE EN FONCTION D'UNE AUTRE LISTE SANS RECHARGER LA PAGE OU PASSER L'INFORMATION PAR L'URL.

Espérons que ca résoud ton problème (tiens moi au courant )

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
0
xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005
21 oct. 2004 à 16:53
Pour le moment j ai un fichier php pour charger les nom dans la liste....puis avec une methode post, je passe a un deuxieme fichier qui lui selectionne les prenoms qui ont le meme nom choisi par l user et j affiche le tout dans un tableau.
Je ne m en suis pas ocuupé aujourd hui, mais demain je m y remet.....je te tiens au courant, sinon envoie moi un mail....

bon courage....
0
xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005
22 oct. 2004 à 09:27
J ai voulu mettre les deux listes sur la meme pages, mais pas possible.....a moins de passer en javascript.

Sinon, en passant par la methode POST, ca marche.....

Si tu veux de l aide, poste un message.

Ciao,
xav
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005
22 oct. 2004 à 09:35
bonjoour,

le script de ton lien m interresse mais pourrais tu m envoyer par mail les fichiers car sur le forum, je vois un fichier "ajout6.php" dans ton code et comme je sais pas qui est qui.....dur dur.

Merci
Xav
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
22 oct. 2004 à 10:38
Si tu lis les commentaires qui ont été postés, tu verras l'explication.

N'oublis de lire Historique de cette source

- Si ca ne marche pas alors veuillez changer les mots array par Array et list par List.

- Ajout6.php est une autre page qui va traiter les informations (Enregistrement ou autre)

Les Valeurs seront stockés dans les variables cat et souscat.

Exemple de récupération des données dans Ajout6.php :

$cat=$_POST['cat'];
$souscat=$_POST['souscat'];

:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
0
xabivalencia Messages postés 34 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 23 juin 2005
22 oct. 2004 à 11:52
J ai regarde mais le souci c est que j ai q une seule base....et pas 2, l id est le meme.... en effet, ma base comporte un champ "gamme du produit" puis un autre "produit". le but est que selon la gamme choisie, des produits sont propose puis l user choisira son produit et les caracteristiques produits seront affichees......donc mes 2 listes ne reposent pas vraiment sur la memem methode. Comment devrais je proceder???

merci
0
Rejoignez-nous