Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนสอบถามเรื่องการเรียกกลุ่มย่อยอีกรอบครับ มันไม่ยอมออกมาคับ



 

รบกวนสอบถามเรื่องการเรียกกลุ่มย่อยอีกรอบครับ มันไม่ยอมออกมาคับ

 



Topic : 113146



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์




คือจากรูปครับ ถ้าผมจะ For each เมนูออกมา แต่ติด Error ครับ คืออยากได้หัวข้อหลักออกมาแล้วมีหัวข้อย่อยออกมาครับ
โดยมีฟิว Parent เป็นตัวเชื่อมโยงในเทเบิ้ล ผมควรเขียนอย่างไรครับ ตารางเบสในภาพครับ

หัวข้อหลักคือเลข ID 15 ครับ ส่วนไอดี 16-17 มันคือหัวข้อรองภายใต้ ไอดี 15

base

คือมเขียน sql แบบนี้ครับ เน่าสนิท พอปริ๊นออกมา คือผมต้องการทำ For each มีหัวข้อ name ออกมาอ่ะครับ

Code (PHP)
 <?php 
	 
	 
	 $sql1 = "SELECT
					tb_k2_categories.id,tb_k2_categories.name,tb_k2_categories.parent
				FROM
					tb_k2_categories
				WHERE tb_k2_categories.parent = 15
				order by ordering ASC 
				";
	$db->setQuery($sql1);
	$rs2 = $db->loadObjectList();
				echo $sql1; 
exit;
	 ?>


อันนี้ผมใช้ไม่เป็นครับ
Code (PHP)
$rs=mysql_query('select * from table where parent_id=0');
while( $ro=mysql_fetch_assoc($rs)){
     //แสดง mainmenu
     $rs2=mysql_query('select * from table where parent_id='.$ro['id']);
     while( $ro2=mysql_fetch_assoc($rs2)){
            // แสดงส่วนของsubmenu
     }
}




อยากให้ออกมาแบบในรูปครับ ซ้ายมือครับ
pic4r



Tag : PHP









ประวัติการแก้ไข
2014-12-10 11:28:14
2014-12-10 12:55:30
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-10 11:24:13 By : sarut14 View : 837 Reply : 13
 

 

No. 1



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ผมเขียน 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()
 


 

No. 2



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ผมลองเอาโค๊ดนี่มาเทสดู เขียนแบบนี้ครับ

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
 

 

No. 3



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

Code
<?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; } } ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-10 11:54:49 By : phpinfo()
 


 

No. 4



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

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()
 


 

No. 5



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


เขียนแบบนี้ก็ไม่ออกครับ งงมาก แต่ลองใน 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
 


 

No. 6



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook




ประวัติการแก้ไข
2014-12-10 12:37:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-10 12:34:55 By : phpinfo()
 


 

No. 7



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ตัวอยาง การสร้างเมนู แก้ ชื่อตาราง ชื่อ ฟีลด์ ให้ถูกต้องเองนะครับ
ก่อนเอาไปประยุกต์ใช้ เอาไปลองทดสอบ ให้เข้าใจก่อนครับ
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
 


 

No. 8



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ ทุกท่านขอบคุณมากครับ ขอสอบถามเพิ่มเติมครับ ถ้าผมกดเมนูย่อยทำเป็นลิ้ง แล้วส่งไอดีไปเพื่อที่จะไปเปิดอีกหน้า
แล้วหน้าที่รับไอดีเมนูย่อยมาจะมี พวกหัวข้อต่างๆที่อยู่ภายใต้ไิดีเมนยูย่อยจากหน้าแรกผมควรเพิ่มอะไรมาครับ

โค๊ดผม อันนี้เอาของพี่ 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>"; 

		}
	}
?>


menu
-ภาพที่ได้จากโค๊ดข้างต้น

menu3
- เบสที่ผมเรียกมาเมนูย่อย


menu6
- เทเบิ้ลนี้ครับ ที่จะมีเสมือนเนื้อหาสัมพันธ์กับเมนยูย่อยอ่ะคัรบ

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
 


 

No. 9



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


คุณต้องใช้อะไรที่จำเป็น เพื่อไปเรียก ข้อมูลมา ก็ส่งอันนั้นไปครับ

<a href='show_detail.php?mainmenu=15&submneu=XX&detail_no=YY'>show detail</a>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-10 14:31:31 By : Chaidhanan
 


 

No. 10



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าผมเขียนแบบนี้ ได้ไหมครับ เพราะอีกหน้ามันจะหัวข้อต่างๆเยอะๆที่อยู่ภายใต้ เมนูย่อยตามไอดีอ่ะครับ

คือเมนูหลักผมไม่มีลิ้งครับ ส่วนสำคัฯคือเมนูย่อยครับ ส่งแค่ไอดีเมนูย่อย

<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
 


 

No. 11



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ครับ ได้ครับ ก็อยู่ที่เขียนตัวรับแสดงแล้วล่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-10 14:46:20 By : Chaidhanan
 


 

No. 12



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้ได้ไอดีมาแล้วครับแถวเดียว รบกวนอีกรอบนะครับ ถ้าแบบนี้เราจะลูป แล้วเผื่ออนาคตมันยาวมีตัดหน้าจะดักไงได้บ้างครับ



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">&nbsp;<?=$objResult2[2];?></a></span></li>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-10 15:46:14 By : sarut14
 


 

No. 13



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แระครับ ถามเองตอบเองเหอๆ

Code (PHP)
<?php 
	while($objResult2 = mysql_fetch_row($objQuery))
{
	?>
    <li><span style="color: #b29b35"><a href="viewblogs.php?ID=<?=$objResult2[0];?>" class="readmore">&nbsp;<?=$objResult2[2];?></a></span></li>
	  <?php }?>


ออกมาเละๆหน่อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-10 16:11:04 By : sarut14
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนสอบถามเรื่องการเรียกกลุ่มย่อยอีกรอบครับ มันไม่ยอมออกมาคับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่