Witam mam problem o takiej treści:
mam 3 pola w formularzu select zalezne od siebie, wszystko działa ale mam tylko problem z wyświetleniem
w dwóch ostatnich poprawnie nazw a mianowicie:
pobierazm z bazy strukture katalogów
katalog 1
-- katalog2
--- katalog3
kazdy z nich ma swoje ID i je chce przysyłac w value jednak jako wybur widoczny chce wyświetlac ich nazwę a i tu i tu mam ID oprócz pierwszego selecta bo w nim wszystko ładnie działa i nie mam pojęcia jak to poprawić. juz siedze nad tym jakies 3 godziny. POMOCY!
oto kod:
<?
if($_SESSION[lang_cms]==pl){$nazwa_kategorii="nazwa_kat";}
if($_SESSION[lang_cms]==de){$nazwa_kategorii="nazwa_kat_de";}
if($_SESSION[lang_cms]==en){$nazwa_kategorii="nazwa_kat_en"; }
$sql1="$nazwa_kategorii";
$zapytanie = mysql_query ("SELECT * FROM pyr_ogloszenia_dzial WHERE naleznosc_kat='0' ORDER BY $sql1"); {
if ($kategorie!='')
{
$kategorie .= "+";
}
$kategorie .= "$rekord[id_kat]||";
$zap = mysql_query ("SELECT * FROM pyr_ogloszenia_dzial WHERE naleznosc_kat='$rekord[id_kat]' ORDER BY $sql1"); {
$kategorie .= '"'.$rek[id_kat].'",';
if($podkategorie!='')
{
$podkategorie .= "+";
}
$podkategorie .= "$rek[id_kat]||";
$z = mysql_query ("SELECT * FROM pyr_ogloszenia_dzial WHERE naleznosc_kat='$rek[id_kat]' ORDER BY $sql1"); {
$podkategorie .='"'.$r[id_kat].'",';
}
}
}
//print "$podkategorie";
$tablica = explode("+", $kategorie); $tablica2 = explode("+", $podkategorie); //print $tablica_podkategorie[0];
for ($i=0; $i<$ile_kategori; $i++)
{
$tablica[$i] = explode("||", $tablica[$i]); }
//print $ile_podkategori;
for ($i=0; $i<$ile_podkategori; $i++)
{
$tablica2[$i]=explode("||",$tablica2[$i]); }
//print $tablica[0][1];
print '<script type="text/javascript"> <!--
opcje=[];';
for ($ile=0; $ile<$ile_kategori; $ile++)
{
$zapytanie2 = mysql_query ("SELECT * FROM pyr_ogloszenia_dzial WHERE naleznosc_kat='$tablica[$ile][0]' ORDER BY $sql1"); {
print 'opcje["'.$tablica[$ile][0].'"]=['.$tablica[$ile][1].'];'; }
}
opcje2[0]="$lang[of8]";';
for ($ile=0; $ile<$ile_podkategori; $ile++)
{
$zapytanie3 = mysql_query ("SELECT * FROM pyr_ogloszenia_dzial WHERE naleznosc_kat='$tablica2[$ile][0]' ORDER BY $sql1"); {
print 'opcje2["'.$tablica2[$ile][0].'"]=['.$tablica2[$ile][1].'];';
}
}
?>
function f(w,x,l){
var lista=document.getElementById(x);
for(var i=0, dl=lista.options.length;i<dl;i++){
lista.options[0]=null;
}
var el=eval(l); el=el[w.options[w.options.selectedIndex].value];
for(i=0;i<el.length;i++){
lista.options[i]=new Option(el[i],el[i]);
}
}
//-->
</script>
<select size=10 id="lista1" name=lista1 onchange="f(this,'lista2','opcje')">
<?
$zapytanie = mysql_query ("SELECT * FROM pyr_ogloszenia_dzial WHERE naleznosc_kat='0' ORDER BY $sql1"); {
echo"<option value="$rekord_kategorie[id_kat
]">$rekord_kategorie[$sql1]</option>"; }
?>
</select>
<select size=10 id="lista2" name=lista2 onchange="f(this,'lista3','opcje2')">
<option value="0">
<?php echo $lang[of8
]; ?></option>
</select>
<select size=10 name=lista3 id="lista3">
<option value="0">
<?php echo $lang[of8
]; ?></option>
</select>
-------------------------
do takich ilości kodu php
korzystamy z BBCode dla PHP
proszę pamiętać na przyszłość
~Cienki1980