rausis Posted November 2, 2008 Report Share Posted November 2, 2008 Ir funkcija, kura rāda izvēlnes sadaļas un apakšsadaļas, darbojas kā nākas, tikai veic pārāk daudz mysql vaicājumus, varbūt ir kāda iespēja viņu optimizēt, taisīt savādāk, tomēr 5 sql vaicājumi priekš 2 sadaļām un 2 apakšadaļām ir par šerpu, ir plānotas stipri vairāk sadaļas un apakšadaļas, tapēc griežos pie jums, pēc palīdzības, padoma. Paldies... :) function display_sub_menu($parent, $lim) { global $selected; $sql = sprintf("SELECT id, title, body FROM article_lv WHERE parent_id = %d",$parent); $res = sql_query($sql) or die(mysql_error()); echo ($lim > 0 ? '<i>' : ''); while ($row = mysql_fetch_array($res)) { echo "<li><a href=\"index.php?p=".$row['id']."\">\n"; echo "<span".($selected == "index.php?p=".$row['id']."" ? " style=\"font-weight: bold;\"" : "").">".$row['title']."</span></a>\n"; echo "</a></li>\n"; display_sub_menu($row['id'], $lim+1); } echo ($lim > 0 ? '</i>' : ''); }// function display_sub_menu Link to comment Share on other sites More sharing options...
andrisp Posted November 2, 2008 Report Share Posted November 2, 2008 Ar vienu kveriju iegūsti pilnīgi visu ierakstus. Pēc tam tādā pašā līdzīgā veidā ar rekursiju izdrukā. Link to comment Share on other sites More sharing options...
marcis Posted November 3, 2008 Report Share Posted November 3, 2008 Jā, es arī agrāk šādi veidoju lapas kartes (teorētiski tas pats vien ir). Šodien jau es to daru šādi: <? function sitemap($pid,$t){ global $lx; if(empty($t[$pid]) || !is_array($t[$pid])){ return ""; } $s='<ul>'; foreach($t[$pid] as $key=>$value){ $s.='<li><a href="/'.$lx.'/'.url($key).'">'.$value.'</a>'.sitemap($key,$t).'</li>'; } $s.='</ul>'; return $s; } $topics=array(); $tsql="SELECT t.id, t.parent_id, ta.name FROM `topics` t, `topics_alias` ta WHERE t.active=1 AND ta.topic_id=t.id AND ta.lang_id=".intval($l)." ORDER BY t.position ASC"; $tres=mysql_query($tsql); while($trow=mysql_fetch_object($tres)){ $topics[$trow->parent_id][$trow->id]=$trow->name; } echo sitemap(0,$topics); ?> Link to comment Share on other sites More sharing options...
rausis Posted November 3, 2008 Author Report Share Posted November 3, 2008 (edited) Liels paldies, tieši tas, kas bija vajadzīgs, viss darbojas :) Edited November 3, 2008 by rausis Link to comment Share on other sites More sharing options...
Recommended Posts