|
|
|
รบกวนสอบถามเรื่องการเรียกกลุ่มย่อยอีกรอบครับ มันไม่ยอมออกมาคับ |
|
|
|
|
|
|
|
ผมเขียน SQL ประมาณนี้ให้ดูในกระทู้เก่าแล้ว ไม่ได้ลองเลยเหรอครับ
SELECT * FROM tb_k2_categories
WHERE id = '15' OR parent_id = '15'
ORDER BY id <> 15, id
แถวแรกจะเป็นหัวข้อหลัก แถวที่เหลือจะเป็นหัวข้อรอง
|
|
|
|
|
Date :
2014-12-10 11:31:58 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองเอาโค๊ดนี่มาเทสดู เขียนแบบนี้ครับ
Code (PHP)
<?php
$rs=mysql_query('select * from tb_k2_categories where tb_k2_categories.id=15');
while( $ro=mysql_fetch_assoc($rs)){
echo $rs;
$rs2=mysql_query('select * from tb_k2_categories where tb_k2_categories.parent='.$ro['id']);
while( $ro2=mysql_fetch_assoc($rs2)){
echo $rs2;
exit;
}
}
?>
ผมที่ปริ๊นออกมาคือได้
Resource id #4Resource id #5
|
|
|
|
|
Date :
2014-12-10 11:38:31 |
By :
sarut14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$id = '15';
$result = mysql_query(
"
SELECT * FROM tb_k2_categories
WHERE id = '$id' OR parent_id = '$id'
ORDER BY id <> '$id', ordering
"
);
// fetch แถวแรกออกมาก่อน
$main_item = mysql_fetch_assoc($result);
// ถ้าแถวแรกมี id ไม่ตรงกับ id ของหัวข้อหลัก แสดงว่ามันไม่ใช่หัวข้อหลัก
// อาจเป็นเพราะว่าหัวข้อหลักได้ถูกลบไปแล้ว
if ($main_item['id'] !== $id) {
// จบการทำงาน
exit;
}
$sub_items = array();
// ถ้ามีหัวข้อรอง ก็ fetch หัวข้อรองไปใส่ใน $sub_items
while ($item = mysql_fetch_assoc($result)) {
$sub_items[] = $item;
}
header('Content-Type: text/plain; charset=utf-8');
echo 'Main item = ';
print_r($main_item);
echo 'Sub items = ';
print_r($sub_items);
exit;
|
ประวัติการแก้ไข 2014-12-10 12:26:58
|
|
|
|
Date :
2014-12-10 12:26:40 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนแบบนี้ก็ไม่ออกครับ งงมาก แต่ลองใน Mysql ออก คืออยากให้มัน ลูปเมนูย่อยอ้างอิง Parent=15 ออกมาอ่ะครับ T_T
Code (PHP)
<?php
$strSQL1 = "SELECT `id`, `NAME`, `parent`
FROM tb_k2_categories
WHERE id >0 AND parent = 15 ";
$objQuery1 = mysql_query($strSQL1) or die ("Error Query [".$strSQL1."]");
$rs = mysql_num_rows($objQuery1);
//echo $rs;
//exit;
?>
<?php
foreach($rs as $item2) :
?>
<div class="row-check2f subcheck2f">
<li style="margin-left:15px;" ><span><?php echo $item2->NAME ?></span></span></li>
</div>
<?php endforeach; ?>
|
|
|
|
|
Date :
2014-12-10 12:27:58 |
By :
sarut14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประวัติการแก้ไข 2014-12-10 12:37:02
|
|
|
|
Date :
2014-12-10 12:34:55 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอยาง การสร้างเมนู แก้ ชื่อตาราง ชื่อ ฟีลด์ ให้ถูกต้องเองนะครับ
ก่อนเอาไปประยุกต์ใช้ เอาไปลองทดสอบ ให้เข้าใจก่อนครับ
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script language="javascript" src="jquery-2.1.1.min.js" ></script>
<script language="javascript">
$(document).ready(function(e) {
$('span').click(function(e) {
$(this).parent().find('ul').toggle(500);
});
});
</script>
</head>
<body>
<ul style="list-style-type: none;">
<?php
$rs=mysql_query('select * from table where parent_id=0');
while( $ro=mysql_fetch_assoc($rs)){
//แสดง mainmenu
echo "
<li><span>+</span>Main Menu $ro[name]<br>
<ul style='list-style-type: none; display:none'>
";
$rs2=mysql_query('select * from table where parent_id='.$ro['id']);
while( $ro2=mysql_fetch_assoc($rs2)){
// แสดงส่วนของsubmenu
echo "
<li>Sub menu $ro2[name] </li>";
}
echo "</ul></li>";
}
?>
</ul>
<input type="checkbox" onclick="check_cat(this)" >All<br>
</body>
</html>
|
|
|
|
|
Date :
2014-12-10 13:04:33 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ทุกท่านขอบคุณมากครับ ขอสอบถามเพิ่มเติมครับ ถ้าผมกดเมนูย่อยทำเป็นลิ้ง แล้วส่งไอดีไปเพื่อที่จะไปเปิดอีกหน้า
แล้วหน้าที่รับไอดีเมนูย่อยมาจะมี พวกหัวข้อต่างๆที่อยู่ภายใต้ไิดีเมนยูย่อยจากหน้าแรกผมควรเพิ่มอะไรมาครับ
โค๊ดผม อันนี้เอาของพี่ Chai มาใช้ ตรง echo "<li>$ro2[name] </li>"; คือผมจะส่งไอดีไปครับ สมมุติหัวข้อย่อยนี้ ID16
Code (PHP)
<?php
$rs=mysql_query('select * from tb_k2_categories where tb_k2_categories.id=15');
while( $ro=mysql_fetch_assoc($rs)){
//แสดง mainmenu
//echo "<li><b>$ro[name]</b><br>";
$rs2=mysql_query('select * from tb_k2_categories where tb_k2_categories.parent='.$ro['id']);
while( $ro2=mysql_fetch_assoc($rs2)){
// แสดงส่วนของsubmenu
echo "<li>$ro2[name] </li>";
}
}
?>
-ภาพที่ได้จากโค๊ดข้างต้น
- เบสที่ผมเรียกมาเมนูย่อย
- เทเบิ้ลนี้ครับ ที่จะมีเสมือนเนื้อหาสัมพันธ์กับเมนยูย่อยอ่ะคัรบ
Code รับค่าเปิดใหม่อีกหน้าครับ
Code (PHP)
<?php
#$itemId = JRequest::getInt('ID', 0);
$itemId = $_REQUEST['ID'];
if(!empty($itemId)) :
include("conect.inc.php");
$strSQL = "SELECT title, introtext,created FROM tb_k2_items WHERE id = ".$itemId;
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult2 = mysql_fetch_row($objQuery);
?>
|
ประวัติการแก้ไข 2014-12-10 14:27:00
|
|
|
|
Date :
2014-12-10 14:23:49 |
By :
sarut14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณต้องใช้อะไรที่จำเป็น เพื่อไปเรียก ข้อมูลมา ก็ส่งอันนั้นไปครับ
<a href='show_detail.php?mainmenu=15&submneu=XX&detail_no=YY'>show detail</a>
|
|
|
|
|
Date :
2014-12-10 14:31:31 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าผมเขียนแบบนี้ ได้ไหมครับ เพราะอีกหน้ามันจะหัวข้อต่างๆเยอะๆที่อยู่ภายใต้ เมนูย่อยตามไอดีอ่ะครับ
คือเมนูหลักผมไม่มีลิ้งครับ ส่วนสำคัฯคือเมนูย่อยครับ ส่งแค่ไอดีเมนูย่อย
<a href="viewblogs2.php?ID=<?=$ro2["id"];?>" class="readmore"><?=$ro2["name"];?></a>
แล้วเอาไอดีที่ได้จากลิ้งบน ในส่วนอีกหน้าผมก็ใช้โค๊ดข้างต้นเลยถูกไหมครับ
แล้วให้มันลีส หัวข้อที่ตรงกับไอดีย่อยออกมาทั้งหมด
|
ประวัติการแก้ไข 2014-12-10 14:36:26 2014-12-10 14:40:03
|
|
|
|
Date :
2014-12-10 14:35:36 |
By :
sarut14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับ ได้ครับ ก็อยู่ที่เขียนตัวรับแสดงแล้วล่ะครับ
|
|
|
|
|
Date :
2014-12-10 14:46:20 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ได้ไอดีมาแล้วครับแถวเดียว รบกวนอีกรอบนะครับ ถ้าแบบนี้เราจะลูป แล้วเผื่ออนาคตมันยาวมีตัดหน้าจะดักไงได้บ้างครับ
Code (PHP)
<?php
#$itemId = JRequest::getInt('ID', 0);
$itemId = $_REQUEST['ID'];
if(!empty($itemId)) :
include("conect.inc.php");
$strSQL = "SELECT id,catid,title FROM tb_k2_items WHERE tb_k2_items.catid = ".$itemId;
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult2 = mysql_fetch_row($objQuery);
?>
ตรงนี้คือส่วนสำคัญที่ลิสรายการออกมาหมดเลยครับ แต่ตอนนี้ผมทดสอบแล้วได้แถออกมาแล้วครับแถวนึง
ตามไอดีเลยครับ แต่อยากแสดงออกมาหมดเลยที่อยู่ภายใต้ catid นี้อ่ะครับ กับแบ่งหน้า
Code (PHP)
<li><span style="color: #b29b35"><a href="viewblogs.php?ID=<?=$objResult2[0];?>" class="readmore"> <?=$objResult2[2];?></a></span></li>
|
|
|
|
|
Date :
2014-12-10 15:46:14 |
By :
sarut14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แระครับ ถามเองตอบเองเหอๆ
Code (PHP)
<?php
while($objResult2 = mysql_fetch_row($objQuery))
{
?>
<li><span style="color: #b29b35"><a href="viewblogs.php?ID=<?=$objResult2[0];?>" class="readmore"> <?=$objResult2[2];?></a></span></li>
<?php }?>
ออกมาเละๆหน่อย
|
|
|
|
|
Date :
2014-12-10 16:11:04 |
By :
sarut14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|