Kod
<form action='probaatomowa.php' method='GET'>
<select name='selKategoria1' onChange='this.form.submit()' >
<option>Wybierz...</option>");
$polecenia_SQL4 = "SELECT IdKategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=1";
$wynik4 = mssql_query($polecenia_SQL4);
while($c = mssql_fetch_array($wynik4)) {
echo "<option value=".$c['IdKategorii']." ";
if ($zmienna3 == $c['IdKategorii']) {
echo 'selected="selected"';
}
echo ">".$c['Nazwa']."</option>";
}
print ("</select>
<select name='selPoziom2' onChange='this.form.submit()' >
<option>Wybierz...</option>");
$polecenia_SQL5 = "SELECT IdKategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=2 AND IdNadkategorii='$zmienna3'";
$wynik5 = mssql_query($polecenia_SQL5);
while($d = mssql_fetch_array($wynik5)) {
echo "<option value=".$d['IdKategorii']." ";
if ($zmienna4 == $d['IdKategorii']) {
echo 'selected="selected"';
}
echo ">".$d['Nazwa']."</option>";
}
print ("</select>
<select name='selPoziom3' onChange='this.form.submit()' >
<option>Wybierz...</option>");
$polecenia_SQL6 = "SELECT IdKategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=3 AND IdNadkategorii='$zmienna4'";
$wynik6 = mssql_query($polecenia_SQL6);
while($e = mssql_fetch_array($wynik6)) {
echo "<option value=".$e['IdKategorii']." ";
if ($zmienna5 == $e['IdKategorii']) {
echo 'selected="selected"';
}
echo ">".$e['Nazwa']."</option>";
}
print ("</select>
<select name='selPoziom4' >
<option>Wybierz...</option>");
$polecenia_SQL7 = "SELECT IdNadkategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=4 AND IdNadkategorii='$zmienna5'";
$wynik7 = mssql_query($polecenia_SQL7);
while($f = mssql_fetch_array($wynik7)) {
echo "<option>".$f['Nazwa']."</option>";
}
print ("</select>
</p>
<input type='submit' action='WyszukiwanieProduktow.php' value='Wyszukaj produkty'>
</form>
<select name='selKategoria1' onChange='this.form.submit()' >
<option>Wybierz...</option>");
$polecenia_SQL4 = "SELECT IdKategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=1";
$wynik4 = mssql_query($polecenia_SQL4);
while($c = mssql_fetch_array($wynik4)) {
echo "<option value=".$c['IdKategorii']." ";
if ($zmienna3 == $c['IdKategorii']) {
echo 'selected="selected"';
}
echo ">".$c['Nazwa']."</option>";
}
print ("</select>
<select name='selPoziom2' onChange='this.form.submit()' >
<option>Wybierz...</option>");
$polecenia_SQL5 = "SELECT IdKategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=2 AND IdNadkategorii='$zmienna3'";
$wynik5 = mssql_query($polecenia_SQL5);
while($d = mssql_fetch_array($wynik5)) {
echo "<option value=".$d['IdKategorii']." ";
if ($zmienna4 == $d['IdKategorii']) {
echo 'selected="selected"';
}
echo ">".$d['Nazwa']."</option>";
}
print ("</select>
<select name='selPoziom3' onChange='this.form.submit()' >
<option>Wybierz...</option>");
$polecenia_SQL6 = "SELECT IdKategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=3 AND IdNadkategorii='$zmienna4'";
$wynik6 = mssql_query($polecenia_SQL6);
while($e = mssql_fetch_array($wynik6)) {
echo "<option value=".$e['IdKategorii']." ";
if ($zmienna5 == $e['IdKategorii']) {
echo 'selected="selected"';
}
echo ">".$e['Nazwa']."</option>";
}
print ("</select>
<select name='selPoziom4' >
<option>Wybierz...</option>");
$polecenia_SQL7 = "SELECT IdNadkategorii, Nazwa FROM dbo.Kategorie WHERE Poziom=4 AND IdNadkategorii='$zmienna5'";
$wynik7 = mssql_query($polecenia_SQL7);
while($f = mssql_fetch_array($wynik7)) {
echo "<option>".$f['Nazwa']."</option>";
}
print ("</select>
</p>
<input type='submit' action='WyszukiwanieProduktow.php' value='Wyszukaj produkty'>
</form>
Problem jest następujący: mam tabelę w bazie danych dbo.Kategorie
1 Czyszczenie szyb NULL false 1 2 Pióro wycieraczki 1 true 2 3 Silnik wycieraczki 1 true 2 4 Pompka płynu do spryskiwaczy 1 true 2 5 Napęd wycieraczek 1 true 2 6 Dysza spryskiwacza 1 true 2 7 Układ czyszczenia szyb 1 true 2 8 Przełącznik 1 true 2 9 Przekaźnik 1 true 2 .....
itp. Chodzi o to żeby napisać taką pętle która sprawdza najpierw od końca wybraną kategorie czyli sprawdza 'selPoziom4' jeśli istnieje wypisuje jego wartość tz przypisuje np $zmiennaIdKategorii = selPoziom4.
Jeśli nie ma wartości na tym poziomie to żeby sprawdziła czy na 'selPoziom3' jest wybrana jakaś wartość jak tak to wtedy ta wartość jest równa $zmiennaIdKategorii. To dość banalne lecz nie daje rady sobię z tym problemem próbowałem zrobić to na warunku if ale nie działało tak jak chciałem.
Próbowałem robić coś takiego
Kod
if (!isset($zmienna5))
{
$IdWybrane = $zmienna5;
}
{
$IdWybrane = $zmienna5;
}
Ale zawsze pokazywał mi id poziomu 4 nawet jak nie istniało o to nie o to tu chodzi ma pokazać najwyższy poziom jaki został wybrany.