 |
พี่ๆแนะนำให้หน่อยค่ะ multi submenu อ่าค่ะ แก้ไม่ได้ซะที |
|
 |
|
|
 |
 |
|
system_user_page_tbl
userid pageid
A1 102
A1 103
A1 104
system_page_tbl
pageid pagename parentpage
1 A null
102 B null
103 C 1
104 D 103
เมื่อ user login เข้ามาแสดงmenu เฉพาะpageที่มีสิทธิ์เท่านั้น
พอquery ออกมาได้

แก้ไงดีค่ะซึ่งจริงๆแล้วต้องเป็น

ไม่รู้จะทำไงให้ยุบรวมกันได้พี่ๆคนไหนพอแนะนำได้บ้างค่ะ
Code (PHP)
$strquery = "SELECT A.role_id,B.page_id,C.parent_page
FROM system_user_role_tbl AS A
INNER JOIN system_page_role_tbl AS B
ON A.role_id = B.role_id
AND B.rec_status = 1
INNER JOIN system_page_tbl AS C
ON C.page_id = B.page_id
AND C.rec_status=1
AND A.user_id = '1f5443f497b7e955ffde9d83863f5868'
AND A.rec_status = 1
group by B.page_id";
$result = mysql_query($strquery);
$num = mysql_num_fields($result);
$r=0;
while($data =mysql_fetch_row($result)){
$res[$r] = getmenu($data[1]);
$r++;
}
foreach($res as $value)
{
$page = split(",",$value);
if(count($page) == 1)
{
echo "<div style='width:100px;float:left;border:solid;'>";
echo "<div style='padding-right:5px;'>".$page[0]."</div>";
echo "</div>";
}else{
echo "<div style='width:100px;float:left;border:solid;'>";
for($n=count($page)-1;$n>-1;$n--)
{
echo "<div style='padding-right:5px;''>".$page[$n]."</div>";
}
echo "</div>";
}
}
function getmenu($pageid){
$strquery = "SELECT A.role_id,B.page_id,C.parent_page
FROM system_user_role_tbl AS A
INNER JOIN system_page_role_tbl AS B
ON A.role_id = B.role_id
AND B.rec_status = 1
INNER JOIN system_page_tbl AS C
ON C.page_id = B.page_id
AND C.page_id = '".$pageid."'
AND C.rec_status=1
AND A.rec_status = 1
group by B.page_id";
$result = mysql_query($strquery);
while($data =mysql_fetch_row($result)){
if($data[2] != NULL){
return $data[1].",".getmenu($data[2]);
}else{
return $data[1];
}
}
}
Tag : PHP, MySQL, HTML/CSS, JavaScript, jQuery
|
ประวัติการแก้ไข 2012-02-16 10:47:42 2012-02-16 10:51:22
|
 |
 |
 |
 |
Date :
2012-02-16 10:45:03 |
By :
LuckyStar |
View :
1125 |
Reply :
3 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
pageid = 1 ไม่ได้เป็นของ user A1 นี่ครับ
|
 |
 |
 |
 |
Date :
2012-02-16 11:13:00 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่ายค่ะแต่เป็นparentของ 103 ค่ะเลยต้องเอาparentมาด้วยค่ะ
|
 |
 |
 |
 |
Date :
2012-02-16 11:22:05 |
By :
LuckyStar |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$sql = "select pageid from system_user_page_tbl where userid='A1'";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($res)){
$user_page[$data["pageid"]]="NULL";
}
$sql = "select t1.pageid,t1.parentpage from system_page_tbl t1,system_user_page_tbl t2 where t2.userid='A1' and t2.pageid=t1.pageid";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($res)){
$system_page[$data["pageid"]]="{$data["parentpage"]}";
}
print_r($user_page);
print_r($system_page);
echo "<hr />";
print_r(array_reverse(array_intersect_key($system_page,$user_page),true));
echo "<hr />";
$transArray = array_flip(array_intersect_key($system_page,$user_page));
print_r($transArray);
|
 |
 |
 |
 |
Date :
2012-02-17 05:29:38 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|