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

bbk974
Invité n'ayant pas de compte PHPfrance

02 août 2007, 11:37

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]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 août 2007, 11:41

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.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute