2 listes deroulantes dont l une dependant de l autre

Signaler
Messages postés
34
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
23 juin 2005
-
Messages postés
34
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
23 juin 2005
-
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

Messages postés
34
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
23 juin 2005

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
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
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
Messages postés
34
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
23 juin 2005

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....
Messages postés
34
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
23 juin 2005

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
Messages postés
34
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
23 juin 2005

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
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
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
Messages postés
34
Date d'inscription
jeudi 14 octobre 2004
Statut
Membre
Dernière intervention
23 juin 2005

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