W bazie danych utworzyłem kilka tabel z nazwami zespołów, a w nich tytuły piosenek, tekst i inne tego typu dane. Zrobiłem więc funkcję, która generuje listę dostępnych piosenek wraz z odnośnikami do nich, po wybraniu nazwy zespołu.
$getzesp = $_GET['zespol']; function szukajzespolu($getzesp){ for($x = 0; $x<=$iw-1; $x++ ) { //pętla powtórzy się tyle razy, ile jest piosenek w tabeli zespołu while (($row = mysql_fetch_array($utwor, MYSQL_NUM)) && ($row2 = mysql_fetch_array($adres, MYSQL_NUM))) { } } } if($getzesp == 'blacksabbath') //wywołanie funkcji, jeśli użytkownik kliknął w odnośnik prowadzący do zespołu Black Sabbath { szukajzespolu($getzesp); }
Jak widać po wybraniu zespołu Black Sabbath, funkcja zostanie wywołana i pojawi się lista piosenek. Nie wiem natomiast, w jaki sposób zrobić to dla wielu zespołów - mógłbym użyć instrukcji CASE, ale wtedy przy przy dodaniu każdego nowego zespołu do bazy, musiałbym zmieniać kod. Pytanie więc jak zrobić, by funkcja była wywoływana dla dowolnego zespołu, który jest w bazie(nazwa zespołu jest nazwą tabeli - w tym przypadku jest to 'blacksabbath') i do którego prowadzą linki na stronie?
Zastanawiałem się, czy jest to możliwe na przykład w taki sposób, że pobiorę nazwy wszystkich tabel z bazy i gdy któraś z nich będzie się zgadzać ze zmienną $getzesp (czyli wybranym odnośnikiem do zespołu) to funkcja wywoła się właśnie dla tej nazwy. Jeśli jednak jest coś takiego możliwe, to nie mam pojęcia w jaki sposób to zrobić : P
pozdrawiam
flaa