Witam.
Mam problem ze skryptem, otóż gdy w bazie mam jeden model danej marki i kilka przedziałów rocznikowych wszystko działa jak należy, jednak gdy dodam następny model wraz z rocznikiem na liście wyświetla się tylko data tego ostatniego, obojętnie jaki model wybiorę.
Baza danych wygląda tak:
+---------------+---------+----------+
|___marka___|_model_ |_rocznik_|
+---------------+---------+----------+
|_Alfa Romeo_|Alfa 33_ |_84 - 90_|
|_Alfa Romeo_|Alfa 33_ |_90 - 95_| Do tego momentu jest dobrze
|_Alfa Romeo_|Alfa 75_ |_85 - 92_| I tu pojawia się błąd, jak na liście rozwijanej wybiorę Alfa 33 to rocznik mi pokazuje tylko i +---------------+---------+----------+ wyłącznie przypisany do Alfy 75
Może ktoś spojrzeć na to bo mi już się w oczach miesza wszystko
<?
$marki = mysql_query("SELECT DISTINCT(marka) FROM wymiary ORDER BY ISNULL(marka), marka ASC;");
for ($i=0;$i<mysql_num_rows($marki);$i++) {
$tmarki[]=$marka[0];
FROM wymiary WHERE marka='$marka[0]';");
for ($j=0;$j<mysql_num_rows($wynik);$j++) {
$tmodele[$i][$j] = $model[0];
}
FROM wymiary WHERE model='$model[0]';");
for ($j=0;$j<mysql_num_rows($wynik2);$j++) {
$troczniki[$i][$j] = $rocznik[0];
}
}
echo '<form name="form1" action="pokaz.php" method="post"> <table>
<tr><td width="20">Marka:</td><td><select name="marka" onChange="zmien(this.options.selectedIndex)" style="width:150px;">';
foreach ($tmarki as $linia) echo "<option>$linia</option>";
echo '</select></td></tr> <tr><td>Model:</td><td><select name="model" style="width:150px;"></select></td></tr>
<tr><td>Rocznik:</td><td><select name="rocznik" style="width:150px;"></select></td></tr>
<tr><td colspan="2"><input type="submit" value="Znajdź wycieraczki" /></td></tr>
</table>
</form>';
<script language="javascript" type="text/javascript">
<!--
function pokaz() {
l2=document.form1.model;
l3=document.form1.rocznik;
alert(l2.options[l2.selectedIndex].value);
alert(l3.options[l3.selectedIndex].value);
}
function zmien(wybor) {
l2=document.form1.model;
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);
l3=document.form1.rocznik;
for (i=l3.options.length;i>=0;i--) l3.options[i]=null;
for (i=0;i<opcje2[wybor].length;i++)
l3.options[i]=new Option(opcje2[wybor][i].value,opcje2[wybor][i].text);
}
ile_marka=document.form1.marka.options.length;
opcje=new Array(ile_marka)
for (i=0;i<ile_marka;i++) opcje[i]=new Array();
ile_model=document.form1.marka.options.length;
opcje2=new Array(ile_model)
for (i=0;i<ile_model;i++) opcje2[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"; }
}
for ($i=0;$i<count($troczniki);$i++) {
for ($j=0;$j<count($troczniki[$i]);$j++) {
echo "opcje2[$i][$j]=new Option(\""; echo $troczniki[$i][$j]."\",\"".$troczniki[$i][$j]."\");\n"; }
}
// -->
</script>';
?>
Ten post edytował yoga 18.12.2008, 08:54:53