whitedwarfcabs
Messages postés3Date d'inscriptionlundi 14 mars 2005StatutMembreDernière intervention22 août 2007
-
25 avril 2005 à 09:32
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
25 avril 2005 à 10:33
J'essaie de créer 3 listes déroulantes liées entre elles. Les choix des listes déroulantes proviennent d'une base de données.
Je cherche de l'aide pour finir mon programme, car il m'affiche un bien méchant "Objet attendu" que je ne comprends pas... J'ai créé 3 tables : sous_liens ("idsousliens","liens","titre"); liens("idliens","cat_liens","titre"); cat_liens("id","titre"). 'Sous-liens' dépend du choix de 'liens', qui dépend du choix de 'cat_liens'. Voilà je copie mon fichier :
****
<?
// Paramètres persos
$host = "localhost"; // voir hébergeur
$user = "root"; // vide ou "root" en local
$pass = ""; // vide en local
$bdd = "testliste"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
?>
<?
$SQL="SELECT id,titre FROM cat_liens";
$result = mysql_query($SQL);
var groups=document.isc.ListeA.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("","#");
<?
$j1=1;
while ($val = mysql_fetch_array($result)) { $SQL2 "select idliens,titre,cat_liens from liens where cat_liens ";
$SQL2 .= $val["id"];
$result2 = mysql_query($SQL2);
$j2=0;
while ($val2 = mysql_fetch_array($result2)) {
$tit= "".$val2["titre"].""; ?>
group[<?=$j1?>][<?=$j2?>]=new Option("<?=$tit?>","");
<? $j2=$j2+1;}
$j1=$j1+1;}?>
var temp=document.isc.ListeB
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}
var secondGroups=document.isc.ListeB.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++) {
secondGroup[i]=new Array(group[i].length)
for (j=0; j<group[i].length; j++) {
secondGroup[i][j]=new Array() }}
secondGroup[0][0][0]=new Option("","#");
<?
$SQL="SELECT * FROM cat_liens";
$result = mysql_query($SQL);
?>
<?
$j1=1;
while ($val = mysql_fetch_array($result)) { $SQL2 "select idliens,titre,cat_liens from liens where cat_liens ";
$SQL2 .= $val["id"];
$result2 = mysql_query($SQL2);
$j2=0;
while ($val2 = mysql_fetch_array($result2)) { $SQL3 "select idsousliens,titre,liens from sous_liens where liens ";
$SQL3 .= $val2["idliens"];
$result3 = mysql_query($SQL3);
$j3=0;
while ($val3 = mysql_fetch_array($result3)) {
$tit2= "".$val3["titre"].""; ?>
secondGroup[<?=$j1?>][<?=$j2?>][<?=$j3?
>]=new Option("<?=$tit2?>","");
<?
$j3=$j3+1;}
$j2=$j2+1;}
$j1=$j1+1;}?>
var temp1=document.isc.ListeC
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<secondGroup[document.isc.ListeA.option
s.selectedIndex][y].length;i++){
temp1.options[i]=new Option(secondGroup[document.isc.ListeA.options.s
electedIndex][y][i].text,secondGroup[document.is
c.ListeA.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
function redirect2(z){
window.location=temp1[z].value
}