今天有個case要做會員層級的階層圖
畫面如下:
HTML:
<ul id="org" style="display:none">
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
</ul>
</li>
</ul>
<link rel="stylesheet" href="/css/jquery.jOrgChart.css">
<script type="text/javascript" src="/js/jquery.jOrgChart.js"></script>
<script>
$(document).ready(function() {
$("#org").jOrgChart({
chartElement: '#chart'
});
});
</script>
以下是我自想的寫法
PHP取得資料:
$data = get_chart($user_id); // 取得層級資料 function get_chart($user_id,$level=1) { global $CFG,$WFunc,$UFunc; if ($level == 1) // 是否為第一層 { $result = get_field_array($table_user,"id='$user_id'"); } else { $result = get_field_array($table_user,"gid='$user_id'"); } $level++; $data = array(); if ($result) { foreach($result as $rs) { $data[$rs['id']] = array( 'id'=>$rs['id'], 'gid'=>$rs['gid'], 'name'=>$rs['name'], 'next'=>get_chart($rs['id'],$level) ); } } return $data; } // 顯示層級 function show_level_data($next_data=array()) { if ($next_data) { $r = '<ul>'; foreach($next_data as $user_id=>$rs){ $r .= '<li><span class="icon"><img alt="" src="/images/icon_man.png" /></span>'; $r .= $rs['name']; $r .= show_level_data($rs['next']); $r .= '</li>'; } $r .= '</ul>'; } return $r; }
頁面程式:
<ul id="org" style="display:none">
<? foreach($data as $user_id=>$rs){?>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>
<?=$rs['name']?>
<?=show_level_data($rs['next']);?>
</li>
<? }?>
</ul>
Hi 你的php文章寫的很好,我也在學php是否可以跟你請教呢?
回覆刪除