Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwie listy wyboru
Forum PHP.pl > Forum > PHP
Początkujący_
Wiatm
Mam bazę danych SQL. Jak zrobić aby w drugiej liście wyboru były wyświetlane dane w zależności od pierwszej listy wyboru?

function selectDistinct2 ($connection)
{
$distinctQuery2 = "SELECT DISTINCT ocena FROM ocena";
$resultId2 = @ mysql_query ($distinctQuery2, $connection);
$i2 = 0;
while ($row2 = @ mysql_fetch_array($resultId2))
$resultBuffer2[$i2++] = $row2[ocena];

echo "\n<select name=\"a2\">";
foreach ($resultBuffer2 as $result2)
echo "\n\t<option>$result2";
echo "\n</select>";
}
echo "\n Ocena: ";
selectDistinct2($connection, "a2");


function selectDistinct4 ($connection)
{
$distinctQuery4 = "SELECT DISTINCT opis_oceny FROM specyfikacja";
$resultId4 = @ mysql_query ($distinctQuery4, $connection);
$i4 = 0;
while ($row4 = @ mysql_fetch_array($resultId4))
$resultBuffer4[$i4++] = $row4[opis_oceny];

echo "\n<select name=\"a4\">";
foreach ($resultBuffer4 as $result4)
echo "\n\t<option>$result4";
echo "\n</select>";
}
echo "\n Za co: ";
selectDistinct4($connection, "a4");


Pomóżcie. Jak to zrobić?
Marcin_m
Nie zrobisz tego na zasadzie dynamicznej (tak możesz zrobić w java scripcie), wiec bedziesz musiał zrobić tak że najpierw ładujesz pewne informacje do listy, potem jest akcja (jakiś submit albo onchange na zasadzie wysyłania parametru) a potem w drugiej liście umieszczasz to co trzeba.

Najlepiej uzaleznic to od bazy, np masz w bazie komórki:

ID|NAZWA|PARENT

I teraz wstawiasz parent=0 dla pierwszej listy, dla listy drugiej (generowanej w zależności od pierwszej) wstawiasz parent=ID_numeru_wyboru z listy i pobierasz wszystkich potomków rodzica. Ogólnie jest to strultura drzewiasta

A bardziej łopatologicznie

ID|NAZWA|PARENT
1|Afryka|0
2|Europa|o
3|Egipt|1
4|Polska|2

I teraz załadujesz do pierwszej listy wszystkich co mają parent = 0. Potem jak sobie user wybierze coś i klinie dalej (czy też zmiana bedzie przypisana do przycisku) to w drugiej lisci e wyswietlisz wszystkich co mają parent=ID_wybranca (np. wybierze Afryke, to wyswietlasz PARENT=1)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.