|
Web razvoj Sve u vezi sa razvojem Internet sajtova: programi, dizajn, usluge hostinga, administracija... |
|
Alatke vezane za temu | Vrste prikaza |
17.7.2008, 16:32 | #1 |
Član
Član od: 14.7.2006.
Poruke: 84
Zahvalnice: 90
Zahvaljeno 17 puta na 15 poruka
|
PHP - može li ovo jednostavnije?
Trenutno radim na nekom svom CMS-u, pa mi je neophodno da sadržaj smeštam u kategorije koje mogu da sadrže podkategorije.
U bazi imam tabelu "Kategorije" koja sadrži polja: id, naziv_kategorije i nadkategorija. Ako je neka kategorija "glavna", tj. ne sadrži podkategorije vrednost polja nadkategorija je 0, a u suprotnom to je vrednost id-a nadkategorije. Sve ovo treba smestiti u ComboBox, ali tako da podkategorije budu prikazane ispod pripadajućih nadkategorija. Nešto kao na ovoj slici: Ja sam ovo rešio pomoću rekurzivnog pozivanja funkcije na sledeći način: Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Proba</title> </head> <body> <form id="form1" name="form1" method="post" action=""> <select name="kategorija" id="kategorija"> <?php include("otvori_bazu.php"); //funkcija koja proverava da li trazena kategorija sadrzi podkategorije //$id - id kategorije za koju proveravamo da li sadrzi podkategorije //$u - obican tekst, tacka koja stoji ispred naziva podkategorije function PopuniCombo($id,$u) { $upit="SELECT * FROM kategorije WHERE nadkategorija=" . $id; $rezultat=mysql_query($upit); while($kat=mysql_fetch_object($rezultat)) { echo "<option value=\"". $kat->id ."\">". $u . $kat->naziv_kategorije . "</option>\n"; //ispred $u dodajem znak razmaka zbog uvlacenja svake sledece podkategorije PopuniCombo($kat->id, " " . $u); } } //pocetak popunjavanja ComboBox-a //selektujemo sve glavne kategorije (nadkategorija=0) $upit="SELECT * FROM kategorije WHERE nadkategorija=0"; $rezultat=mysql_query($upit); while ($red=mysql_fetch_object($rezultat)) { echo "<option value=\"" . $red->id . "\">" . $red->naziv_kategorije . "</option>\n"; PopuniCombo($red->id,"•"); } ?> </select> </form> </body> </html> SQL fajl za kreiranje tabele "Kategorije" je priložen uz poruku. |
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Da li svako može da instalira Windows? | dbaja | Operativni sistemi | 119 | 14.12.2012 12:37 |
PHP skripte - problem sa ubacivanjem! | Farmaceut | Serverske aplikacije i baze podataka | 7 | 13.6.2008 10:18 |
Pomoc oko php nuke | draganva | Web razvoj | 1 | 11.9.2007 1:53 |
PHP ili .NET ? | Deusdies | Programiranje | 9 | 25.8.2007 12:55 |
[PHP] Kako početi sa učenjem PHP-a? | MilanSM | Serverske aplikacije i baze podataka | 20 | 29.12.2006 3:13 |