PDA

View Full Version : Thắc mắc về menu 2 cấp!



Thế Giới Phẳng
27-07-2010, 22:23
Mình có tham khảo một code của một bạn về menu 2 cấp, và mình tìm cách cho vào code của mình, nó ok!

Và đây là funciton nó dùng:



function box_category()
{
global $_SESSION,$link,$skin_link;
$sql="SELECT * FROM `category` WHERE `category_parent`='-1' order by `category_order`";
@$rs=mysql_query($sql,$link);
if (!$rs) {
echo "Ko thể truy vấn dc tới database<br>";
exit;
}
$temp=file_get_contents("$skin_link/danhmuc.php");
$parent_temp=ereg_replace("(.*)<!\-\-Begin parent\-\->(.*)<!\-\-End parent\-\->(.*)", "\\2", $temp);
$sub_temp=ereg_replace("(.*)<!\-\-Begin sub\-\->(.*)<!\-\-End sub\-\->(.*)", "\\2", $temp);
$temp_start=ereg_replace("(.*)<!\-\-Begin danhmuc\-\->(.*)<!\-\-End danhmuc\-\->(.*)", "\\1", $temp);
$temp_end=ereg_replace("(.*)<!\-\-Begin danhmuc\-\->(.*)<!\-\-End danhmuc\-\->(.*)", "\\3", $temp);
$cat_exp="";
while ($load_parent=mysql_fetch_assoc($rs))
{
$category_id=$load_parent['category_id'];
$category_name=$load_parent['category_name'];
$category_url=$load_parent['category_url'];
$exp=str_replace("{parent_link}","./$category_url/",$parent_temp);
$exp=str_replace("{parent_onclick}","onclick=\"return gopage('./#danh-muc/$category_url/')\"",$exp);
$exp=str_replace("{parent_name}",$category_name,$exp);
$cat_exp.=$exp;
//------------Load child cat
$sql="SELECT * FROM `category` WHERE `category_parent`='$category_id' order by `category_order`";
@$rs_sub=mysql_query($sql,$link);
while ($load_sub=mysql_fetch_assoc($rs_sub))
{
$sub_id=$load_sub['category_id'];
$sub_name=$load_sub['category_name'];
$sub_url=$load_sub['category_url'];
$exp=str_replace("{sub_link}","./$category_url/$sub_url/",$sub_temp);
$exp=str_replace("{sub_onclick}","onclick=\"return gopage('./#danh-muc/$sub_url/')\"",$exp);
$exp=str_replace("{sub_name}",$sub_name,$exp);
$cat_exp.=$exp;
}
}
return $temp_start.$cat_exp.$temp_end;
}


Và đây là cơ sở dữ liệu của category.
http://cA4.upanh.com/10.680.14818150.KUX0/csdl_menu.png

Và đây là hình dạng của nó khi show ra index.php
http://cA2.upanh.com/10.680.14818148.ZPN0/menu.png

Và đây là csdl baiviet(baviet_id, baviet_name)
Mình đưa code đó vào trong trang web của mình, nó hiện thì đúng như thế, nhưng giờ mình gặp vấn đề ko biết làm sao để khi bấm vào menu cha (hiện toàn bộ bản ghi của các menu con) và khi bấm vào menu con thì hiện các bài viết thuộc menu con đó.

Ví dụ: Khi mình bấm vào Tin học - CNTT (đường dẫn http://localhost/cong-nghe-thong-tin/)nó sẽ show các bài viết của menu con: Cơ sở dữ liệu và Đồ họa - Thiết kế - Flash

Khi mình bấm vào Cơ sở dữ liệu (đường dẫn http://localhost/cong-nghe-thong-tin/co-so-du-lieu)nó sẽ show ra những bản ghi thuộc mục "Cơ sở dữ liệu".

p/s: Nếu các bác đọc ở trên mà ko hiểu ý em đang hỏi gì, em xin tóm gọn như sau: mình muốn cập nhật bài viết đó theo category. Bấm vào menu cha thì hiện toàn bộ bài viết (toàn bộ menu con). Bấm vào menu con thì chỉ hiện bài viết thuộc menu con đó!

Cái trang baiviet.php của em cập nhật theo id có url là: baiviet.php?id=

Xin cám ơn các bác đã nhiệt tình giúp đỡ!