Ben yönetici tarafında CMC sayfaları oluşturma. Ben önünde sonunda 3 seviyeli bir menü var. CMS sayfalar için en veritabanı tablosu yapısı alanlar bulunur name
, parent_id
, description
, status
.
Şimdi menüsündeki tüm sayfaları, alt sayfaları ve alt sayfaların alt sayfaları görüntülemek zorunda. Bu sorgu yazmak nasıl?
<!-- BEGIN Menu -->
<ul id="nav">
<li><a href="consumers.php">Consumers</a>
<ul><li><a href="personal_finance.php">Personal Finance </a>
<ul><li><a href="personal_financial_makeover.php">Personal Financial Makeover</a></li>
<li><a href="personal_finance_consultancy.php">Personal Finance Consultancy</a></li>
</ul>
</li>
<li><a href="investings.php">Investings</a>
<ul>
<li><a href="securities_analysis.php">Securities Analysis</a></li>
<li><a href="portfolio_investment.php">Bernie Madoff Shield (Portfolio and Investment Analysis)</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="entrepreneurs.php">Entrepreneurs</a>
<ul>
<li><a href="market_analysis.php">Market Analysis and Competitive Report </a></li>
<li><a href="business_plans_feasibility.php">Business Plans & Feasibility Studies </a>
<ul>
<li><a href="business_plans.php">Business Plans</a>
<ul>
<li><a href="level1.php">Level 1</a></li>
<li><a href="level2.php">Level 2</a></li>
<li><a href="level3.php">Level 3</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<!-- END Menu -->
as you said i tried. i have home page. it doesnot have childs. still its getting empty dropdown menus. and next displaying firstlevel menus correctly. and also displaying secondlevel menus. actually mouse over on firstlevel menus dropdown appear. i am getting dropdown. upto now fine. but dispalying menu names openly. see my attachment please. i was attached 2images. in first images directly displaying like this. in second image on mouseover on firstlevel displaying dropdown.
<?
$query = "SELECT
t1.auto_id AS l1_id, t1.name AS l1_name
,t2.auto_id AS l2_id, t2.name AS l2_name
,t3.auto_id AS l3_id, t3.name AS l3_name
FROM static_pages AS t1
LEFT JOIN static_pages AS t2 ON t2.parent_id = t1.auto_id
LEFT JOIN static_pages AS t3 ON t3.parent_id = t2.auto_id";
$result = mysql_query( $query );
$results = array() ;
while($row=mysql_fetch_assoc($result)){
$results[] = $row;
}
// Building the menu. Quick and dirty.
$menu = array() ;
foreach( $results as $result ) {
$menu_level_3 = array( 'auto_id' => $result['l3_id'], 'name' => $result['l3_name'], 'children' => array() ) ;
$menu_level_2 = array( 'auto_id' => $result['l2_id'], 'name' => $result['l2_name'], 'children' => array( $menu_level_3['auto_id'] => $menu_level_3 ) ) ;
$menu_level_1 = array( 'auto_id' => $result['l1_id'], 'name' => $result['l1_name'], 'children' => array( $menu_level_2['auto_id'] => $menu_level_2 ) ) ;
if( !isset( $menu[$menu_level_1['auto_id']] ) ) {
$menu[$menu_level_1['auto_id']] = $menu_level_1 ;
} elseif( !isset( $menu[$menu_level_1['auto_id']]['children'][$menu_level_2['auto_id']] ) ) {
$menu[$menu_level_1['auto_id']]['children'][$menu_level_2['auto_id']] = $menu_level_2 ;
} else {
$menu[$menu_level_1['auto_id']]['children'][$menu_level_2['auto_id']]['children'][$menu_level_3['auto_id']] = $menu_level_3;
}
}
?>
<ul id="nav">
<? foreach($menu as $item0) : ?>
<li>
<a href="?page=<?=$item0['auto_id']?>"><?=$item0['name']?></a>
<? if(!empty($item0['children'])){?>
<ul>
<? foreach($item0['children'] as $item1) : ?>
<li>
<a href="?page=<?=$item1['auto_id']?>"><?=$item1['name']?></a>
<? if(!empty($item1['children'])){?>
<ul>
<? foreach($item1['children'] as $item2) : ?>
<li><a href="?page=<?=$item2['auto_id']?>"><?=$item2['name']?></a></li>
<? endforeach; ?>
</ul>
<? }?>
</li>
<? endforeach; ?>
</ul>
<? }?>
</li>
<? endforeach;exit;?>
</ul>