ช่วยหน่อยครับ อยากทราบว่าผมจะแก้โค๊ดชุดนี้ทำเป็น Dropdown Menu ทำซับเมนูจาก SQL แบบไม่จำกัดซับเมนู ได้ยังไงหรอครับ
อยากทราบว่าผมจะแก้โค๊ดชุดนี้ทำเป็น Dropdown Menu ให้ซับเมนูมันซ่อนแล้วคลิกถึงจะแสดงผมลองใส่ ul li แล้วแต่มันไม่ยอมพับซ่อนซัพเมนูให้นะครับ เท่าที่ผมดูมันแก้ไขตรง
Code (PHP)
echo '<br/>' . str_repeat(" ",$sub*4) . '- ' . $data['name'];
แต่ไม่รู้จะใส่คำวั่ง ul li ลงไปแบบไหนให้มันใช้งานได้นะครับ รบกวนชี้แนะด้วยครับ ขอบคุณครับ
ปล.โค๊ดผมก๊อปเค้ามาใช้แต่โมไม่ถูก
Code (PHP)
<?php
try {
$user = 'tobedev';
$pass = 'abcd.1234';
$db = 'test';
$charset = 'utf8';
$dbh = new PDO("mysql:host=localhost;dbname=$db;charset=$charset", $user, $pass);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
//Query Data
$sth = $dbh->prepare("SELECT * FROM tb_category");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
$data = array();
$sub_data = array();
//Group data with parent_id
foreach($result as $row){
if($row['ref_parent_id'] > 0){
$sub_data[$row['ref_parent_id']][$row['id']] = $row;
}else{
$data[$row['id']] = $row;
}
}
// SET sub category
foreach($data as $row){
if($sub = findSubCategory($row['id'], $sub_data)){
$data[$row['id']]['sub'] = $sub;
}
}
function displayCategory($data, $sub=1){
echo '<br/>' . str_repeat(" ",$sub*4) . '- ' . $data['name'];
if(isset($data['sub'])){
$sub++;
//Recursive Function
foreach($data['sub'] as $row){
displayCategory($row, $sub);
}
}
}
function findSubCategory($id, $sub_data){
if(isset($sub_data[$id])){
foreach($sub_data[$id] as $row){
//Recursive Function
if($sub = findSubCategory($row['id'], $sub_data)){
$sub_data[$id][$row['id']]['sub'] = $sub;
}
}
return $sub_data[$id];
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>PHP - Category : PhpCodeMania.Blogspot.Com</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>PHP - Product Category</h1>
<pre>
<?php
foreach($data as $row){
displayCategory($row);
}
?>
</pre>
</div>
</body>
</html>
Tag : PHP, HTML
Date :
2018-02-15 17:19:48
By :
puttisak
View :
571
Reply :
1
จับ ul li ใส่ใน div style="position: absolute" แล้วกำหนดตำแหน่ง ให้กับ div นั้น
แต่รู้สึกจะยากไปหน่อยในการควบคุม event ต่างๆ ต้องคิดหลายตลบ ในการ ซ่อน แสดง div นั้น และรวมไปถึง div ลูก div แม่ อีก
ถ้าแสดงไม่จำกัด ถ้าเมนูเลยหน้าจอจะทำอย่างไรต่อไป จะย้ายข้างมาอยู่อีกด้านนึง หรือ จะต้องขยับขึ้นข้างบน หรือลงล่าง
เอาแบบง่ายๆ ที่เขามีให้ใช้ ดีกว่าไหม ตัวอย่างมีเยอะแยะ
Date :
2018-02-15 22:14:59
By :
Chaidhanan
Load balance : Server 02