Page 1 sur 1

listes liées Base de données+PHP+javascript

Posté : 02 août 2007, 11:37
par bbk974
Bonjour j'aimerais lier 2 listes déroulantes, c'est à dire pouvoir sélectionner un processus (dans ce cas) dans une liste et sélectionner une procédure dans une seconde liste de procédures liées au processus sélectionné:

**CE QUI EST FAIT**
1-la liste déroulante des processus

En fait je n'arrive pas à lier la deuxième liste.J'aimerai m'inspirer des "case" de javascript mais je voudrais parcourir la table "PROCEDURES" automatiquement et que les procedures qui ont le idprocess du PROCESS (processus)sélectionné nourrisent la seconde liste(je suis en oracle et pas MySQL).Je pars de ça:


Code : Tout sélectionner

<HTML> <head> <?php $db = NewADOConnection(""); $cstr = "(DESCRIPTION=(ADDRESS=(PROTOCOL=$PROTOCOL)(HOST=$HOST)(PORT=$PORT))(CONNECT_DATA=(SID=$SID)))"; $db->Connect($cstr, $USER, $PWD); $res=$db->Execute("SELECT count(*) FROM processes" ); ?> <script type="text/javascript"> function Choix(formulaire) { i = formulaire.Boite1.selectedIndex; if (i == 0) { $nrows = $res-> Fieldcount(); } // for (i=0;i<$nrows;i++) { // formulaire.Boite2.options[i].text=""; // } return; } switch (i) { <?php $res=$db->Execute("SELECT idprocedure FROM procedures WHERE" ); echo'idprocedure : var txt = new Array ("Page 1.1","Page 1.2","Page 1.3"); break;'; while ($data=$res->FetchRow()) { echo "<option> ".$data['HEADING']." </option>"; } ?> //case 1 : var txt = new Array ('Page 1.1','Page 1.2','Page 1.3'); break; //case 2 : var txt = new Array ('Page 2.1','Page 2.2','Page 2.3'); break; //case 3 : var txt = new Array ('Page 3.1','Page 3.2','Page 3.3'); break; } formulaire.Boite2.options[0].text="--- Choisissez une procedure ---"; for (i=0;i<$nrows;i++) { formulaire.Boite2.options[i+1].text=txt[i]; } } </script> </head> //Ce qui suit est ok <body> <form action="#" name="formulaire"> <?php $req="SELECT * FROM processes ORDER BY idprocess"; $res=$db->Execute($req); ?> <select name="Boite1" onChange='Choix(this.form)'> <option selected>--- Choisissez un processus ---</option> <?php while ($data=$res->FetchRow()) { echo "<option> ".$data['HEADING']." </option>"; } ?> <select name="Boite2" OnChange="alert('vous avez choisi : \n Le processus ' + formulaire.Boite1.selectedIndex + ' et la page ' +formulaire.Boite2.selectedIndex+ '')"> <option selected>--- Choisissez une proc&eacutedure ---</option> <option></option> <option></option> <option></option> </select> </form> </body>

MErci

bbk91[/code]

Posté : 02 août 2007, 11:41
par Truc
Modération :
Mauvaise pioche, pourquoi ne pas continuer sur ton sujet d'origine ?!

Je verrouille celui-ci.

Merci de prendre le temps de lire les règlements.