Witam mam pewien problem wydaje mi się że jest on banalny lecz jednak nie potrafię sobie z nim poradzić. Najpierw dam kod stronki

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>



Problem jest następujący: mam tabelę w bazie danych dbo.Kategorie

  1. 1 Czyszczenie szyb NULL false 1
  2. 2 Pióro wycieraczki 1 true 2
  3. 3 Silnik wycieraczki 1 true 2
  4. 4 Pompka płynu do spryskiwaczy 1 true 2
  5. 5 Napęd wycieraczek 1 true 2
  6. 6 Dysza spryskiwacza 1 true 2
  7. 7 Układ czyszczenia szyb 1 true 2
  8. 8 Przełącznik 1 true 2
  9. 9 Przekaźnik 1 true 2
  10. .....


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;
    }

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.