Problem: pola select option, gdzie wybór zależy od poprzedniego.
Witam - znalazłem gdzieś w sieci poniższy skrytp. Od razu zaznaczam, że działa. Działa tak, że są to 2 pola select option, gdzie wybór drugiego zależy od pierwszego - mam tylko pytanie jak go przerobić, żeby tych pól select option nie były 2 tylko 4?
Np. Wybieram markę samochodu i wyświetla mi Audi, następnie wybieram z dostępnych model: A4, następnie rocznik: 2004, następnie silnik: 2,0 i wypisuje mi że jest w bazie?
<?
//---polaczenie z baza danych
include ("config.php");
include ("polaczenie.php");
//$baza = mysql_connect("localhost", "admin_bg", "admin_bg");
//mysql_select_db("baza1");
//---zapytanie o marki
$marki = mysql_query("SELECT DISTINCT(marka) FROM auta ORDER BY marka;");
//--w petli marki dodawane sa do tablicy $tmarki
for ($i=0;$i<mysql_num_rows($marki);$i++) {
$marka = mysql_fetch_row($marki);
$tmarki[]=$marka[0];
//--na podstawie marki pobierane sa modele tej marki i tez w petli dodawane sa do tablicy dwuwymiarowej
$wynik=mysql_query("SELECT DISTINCT (model) FROM auta WHERE marka='$marka[0]';");
for($j=0;$j<mysql_num_rows($wynik);$j++) {
$model = mysql_fetch_row($wynik);
$tmodele[$i][$j]=$model[0];
}
}
mysql_close($conn);
//--formularz i pole 1 listy
echo '<form name="form1" action="index.php" method="get">
<select name="lista1" onChange="zmien(this.options.selectedIndex)" class="kategoria">';
//--formularz i pole 2 listy
<input type="submit" value="Sprzęt dostępny w">
//--przepisanie danych z bazy do pol select option
echo '
<script language="javascript" type="text/javascript"> <!--
function zmien(wybor) {
l2=document.form1.lista2;
for (i=l2.options.length;i>=0;i--) l2.options[i]=null;
for (i=0;i<opcje[wybor].length;i++)
l2.options[i]=new Option(opcje[wybor][i].value,opcje[wybor][i].text);
}
ile_lista1=document.form1.lista1.options.length;
opcje=new Array(ile_lista1)
for (i=0;i<ile_lista1;i++) opcje[i]=new Array();
';
for ($i=0;$i<count($tmodele);$i++) {
for ($j=0;$j<count($tmodele[$i]);$j++) {
echo "opcje[$i][$j]=new Option(\"";
echo $tmodele[$i][$j]."\",\"".$tmodele[$i][$j]."\");\n";
}
}
echo 'zmien(0);
//-->
?>
<!-- wypis zapytan --!>
<?
$marka = $_GET["lista1"];
$model = $_GET["lista2"];
if ($marka<>"" and $model<>""){
$sql="SELECT rok FROM auta WHERE marka='$marka' and model='$model';";
include ("config.php");
include ("polaczenie.php");
//$baza = mysql_connect("localhost", "admin_bg", "admin_bg");
//mysql_select_db("baza1");
$wynik = mysql_query($sql);
mysql_close($conn);
$wierszy = mysql_num_rows($wynik);
$pol = mysql_num_fields($wynik);
for ($i=0;$i<$wierszy;$i++){
$wiersz = mysql_fetch_row($wynik);
for ($j=0;$j<$pol;$j++) echo $wiersz[$j]." ";
echo "<br />";
}
}
?>