zimulis Posted November 20, 2008 Report Share Posted November 20, 2008 Pldies.. tas ir tiesi tas kas vajadzigs :) Link to comment Share on other sites More sharing options...
zimulis Posted February 20, 2009 Report Share Posted February 20, 2009 (edited) turpinot tēmu... Tagad radās vajadzība izvadīt ārā visus konkrētā ID bērnus visos līmeņos.... moš kādam ir ideja kā to labāk varētu paveikt... Edited February 20, 2009 by zimulis Link to comment Share on other sites More sharing options...
mysql_query Posted November 16, 2010 Report Share Posted November 16, 2010 Kā šajama var pielikt LIMIT <?php function show_menu($id) { $all = mysql_query("SELECT * FROM main Where parent_id=$id ORDER BY id ASC"); if (!$all) { echo( mysql_error()); } else { if (mysql_num_rows($all) { echo '<ul class="id_nav">'; while ($row = mysql_fetch_array($all)) { echo '<li><a class="nav" href="?id='.$row['id'].'">'.$row['name'].'</a>'; show_menu($row['id']); echo '</li>'; } echo '</ul>'; } } } show_menu(0); ?> 1. Man ir piem 300 menu kopā. 2. Iespējams daži ir kā sub, sub sub menu . 3. tad kā lai sadalu pa lapām? Un lai herahija tupinātos nākamjā lapā. Link to comment Share on other sites More sharing options...
Aleksejs Posted November 16, 2010 Report Share Posted November 16, 2010 mysql_query - baidos, ka tādā veidā, kā tas ir realizēts tavā piemērā, to izdarīt nevar. Link to comment Share on other sites More sharing options...
mysql_query Posted November 16, 2010 Report Share Posted November 16, 2010 mysql_query - baidos, ka tādā veidā, kā tas ir realizēts tavā piemērā, to izdarīt nevar. Vari lūdzu parādīt piemēru kā to izdarīt var? Link to comment Share on other sites More sharing options...
No0ne Posted November 18, 2010 Report Share Posted November 18, 2010 Labda diena pieļauju ka šī tēma ir jau apsprieta, tā arī ir esmu sagatavojis nelielu mājas darbu, bet lūdzu jūsu palīdzību. Tātad šinī te vietā aprunātā navigācijas veidošana: http://php.lv/f/index.php?sh.... bubu piedāvājo ļoti interesantu risinājumu: <?php function show_menu($id) { $all = mysql_query("SELECT * FROM main Where parent_id=$id ORDER BY id ASC"); if (!$all) { echo( mysql_error()); } else { if (mysql_num_rows($all) { echo '<ul class="id_nav">'; while ($row = mysql_fetch_array($all)) { echo '<li><a class="nav" href="?id='.$row['id'].'">'.$row['name'].'</a>'; show_menu($row['id']); echo '</li>' } echo '</ul>'; } } } show_menu(0); ?> Viss jau ļoti jauki un skaisti, bet cik noprotu, tad noteikti ir jānorāda $id, kurš atsauktos uz Tabulas lauku parent_id, labi tik tāl viss ok, bet piemēram ja nav skaidri zināms, nedz sadaļu dziļums, ned arī to daudzums pēc bra ralstītā, sapratu ka ir vel viens parametrs (tabulas lauks) sad_id, ļoti jauki un skaisti selectu jau uzraxtīt varētu, bet nezinu kā ar php un rekrusīvajām f-cijām vai iekš php pastāv tāda lieta, un ja pastāv tad kā izmantot tieši šinī gadījumā. Cik noprtu varētu darīt šādi: uzzinam maksimālo parent_id lauka vērtību - apzīmēs cik ir maksimālais dziļums, un tad ar while ciklu laižam caruri viesiem tabulas laukiem un kārtojam mūsu nepieciešamās sadaļas formātā kādā vēlamies Aizmirsu piebilst ka velkot datus ārā no DB veicam nelielu pārbaudi t.i. pārbaudam dziļumu un sadaļu, kura atrodas līmeni zemāk Tad visu izvadam laukā : šādā formātā: <ul id="tree"> <li>1 <ul> <li>1.1</li> <li>1.1</li> </ul> </li> <li>2 <ul> <li>2.1</li> <li>2.2</li> <li>2.3</li> </ul> </li> </ul> Katrs ieraksts unikāls un atrodas savā vietā, ar plānošanu man viss laikam labi, bet ar izpildi, nepārāk vai lūdzu, kāds nevarētu man palīdzēt. Paldies Jums jau iepriekš try index.php?parent_id=1' union select.... un tas if !$all nemaz nevar izpildities, tad kapec vins tur vispar ir? Link to comment Share on other sites More sharing options...
Recommended Posts