#1 (permalink)  
Old 22-05-2008, 09:44 AM
Lucky_Star's Avatar
Senior Member
 
Tham gia ngày: May 2008
Bài gởi: 506
Credits: 182
Thanks: 0
Thanked 1 Time in 1 Post
Lucky_Star is on a distinguished road
Default [PHP]Menu đa cấp - Đệ qui

Thấy thỉnh thoảng anh em lại gặp vấn đề về menu đa cấp và viết đệ qui, mấy hôm nay viết shopping cart nên có chút kinh nghiệm share với anh em
Về database, tạo menu có cấu trúc đơn giản như sau:
table categories: id,parentid,title
id parentid title
1 0 Menu 1
2 0 Menu 2
3 1 Menu 1.0
4 1 Menu 1.1
5 3 Menu 1.0.0
6 3 Menu 1.0.1
yêu cầu khi tạo thành menu phải có dạng
Menu 1
Menu 1.0
Menu 1.0.0
Menu 1.0.1
Menu 1.1
Menu 2

Phần code:
<?php
function Menu($parentid = 0,$space = '--', $trees = NULL){
if(!$trees) $trees = array();
$sql = mysql_query("SELECT * FROM php_category WHERE cat_parentid = ".intval($parentid));
while($rs = mysql_fetch_assoc($sql)){
$trees[] = array('id'=>$rs['cat_id'],'title'=>$space.$rs['cat_title']);
$trees = Menu($rs['cat_id'],$space.'--',$trees);
}
return $trees;
}
$Menu = Menu(0);
$str = '';
foreach($Menu as $k=>$rs) $str .= '<a href="#menu='.$rs['id'].'">'.$rs['title'].'</a>';
echo $str;
?>
Ngoài ra hàm này có thể hiển thị được cây thư mục của 1 category bất kỳ, ví dụ: $Menu = Menu(3) sẽ hiển thị cây thư mục của các menu con của category có id = 3
Chúc thành công

Theo phpbasic
Trả Lời Với Trích Dẫn
Trả lời


Ðang đọc: 1 (0 thành viên và 1 khách)
 
Ðiều Chỉnh
Xếp Bài

Chuyển đến

Chủ đề giống nhau
Ðề tài Người Gởi Chuyên mục Trả lời Bài mới gởi
Cách tạo menu đa cấp trong php Lucky_Star Thiết kế web 0 22-05-2008 08:58 AM
DHTML Tree - Menu cây thư mục Bao Khanh Thiết kế web 0 20-12-2007 09:21 PM


Múi giờ GMT. Hiện tại là 05:31 PM.


Connect