Salve a tutti, premetto che sono programmatore php e mi sto affacciando per la prima volta ad Ajax, avrei bisogno di creare due select, categoria e sotto categoria, a seconda della categoria scelta, la seconda select mi restituisce le sub cat ad essa appartenenti, ma purtroppo non riesco, ormai è una settimana che ci combatto ma nulla, sono arrivato ad un punto che a volte lo guardo e nn so neanche cosa sto scrivendo!!! Vabbhè, ecco il codice, è un codice prelevato da questo sito e riadattato il qualche modo ovviamente sbagliato
:
premetto che il form si chiama doublecombo.codice:echo' <select name="cat" size="1" onChange="redirect(this.options[this.selectedIndex].value)"> <option value="0">Seleziona una categoria</option>'; $subcat=array(); $subnum='-1'; $catnum=array(); $countcat='0'; $result = mysql_query("select * from cat ORDER BY nome ASC"); while($riga = mysql_fetch_array($result)) { $cid = $riga['cid']; $cat = $riga['nome']; $countcat++; $catnum[$cat]=$countcat; $catnumarr = $catnum[$cat]; echo'<option value="'.$countcat.'">'.$cat.'</option>'; $result1 = mysql_query("select * from sub_cat WHERE cid='$cid' ORDER BY nome ASC"); while($riga1 = mysql_fetch_array($result1)) { $cid1 = $riga1['cid']; $sub_cat = $riga1['nome']; $subnum++; $subcat[$subnum]=$sub_cat; $resultn = mysql_query("select count(*) as num from sub_cat WHERE cid='$cid'"); while($rigan = mysql_fetch_array($resultn)) { $num = $rigan['num']; } } } echo' </select> <select name="sub_cat" size="1"> <option value="null">Seleziona una categoria</option> </select> <script type="text/javascript" language="JavaScript"> <!-- var groups=document.doublecombo.cat.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array() group[0][0]=new Option("Seleziona una categoria", "0");'; $nam='-1'; for($n=0;$n<$num;$n++){ $nam++; echo'group['.$catnumarr.']['.$n.']=new Option("'.$subcat[$nam].'", "'.$nam.'");'; } echo' var temp=document.doublecombo.sub_cat 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 } function go(){ location=temp.options[temp.selectedIndex].value } //--> </script>';
Grazie anticipatamente

!!! Vabbhè, ecco il codice, è un codice prelevato da questo sito e riadattato il qualche modo ovviamente sbagliato
Rispondi quotando