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 > เงื่อนไขแบบนี้เรียกคำสั่ง Mysql PHP อย่างไรครับให้ได้ผลคล้ายๆในภาพนี้ครับ



 

เงื่อนไขแบบนี้เรียกคำสั่ง Mysql PHP อย่างไรครับให้ได้ผลคล้ายๆในภาพนี้ครับ

 



Topic : 113120



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



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




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

แต่ปัญหาคือว่าอยู่เทเบิ้ลเดียวกันครับ แถมมันรัน ID Auto ตามภาพครับ แต่ทีนี้ในเบส มันมีฟิวส์ออ้างอิงเมนูหลักของ
มันเองโดยยึดไอดีเมนูหลักมา ดังในภาพใช้ ฟิวส์ชื่อ Parent อ่ะครับ จะเห็นตัวเลข 213,216 ซ้ำๆกัน ซึ่งเมนูย่อยจะใช้
ฟิวส์นี้อ้างอิงเมนูหลักครับ

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

v1

-นี่คือตอนครีเอจเมนูหลักอ่ะครับ ตั้งหัวข้อใหญ่ไว้

v2

-เมนูย่อยของเมนูหลักครับ สังเกตุว่าถ้าผมเรียกแบบตาม By ไอดีมามันก็มีอะไรออกมาหมด T_T

v3

-ฟิวส์ ที่เมนูย่อยอ้างอิงเมนูหลักอ่ะคับ เช่นเมนูหลักไอดี 213 เมนูย่อยก็จะใช้ฟิวส์นี้ 213 เช่นเดียวกัน สังเกตุเลขซ้ำครับ

v4

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

ขอรบกวนด้วยนะครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-09 11:11:34 By : sarut14 View : 1216 Reply : 13
 

 

No. 1



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

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

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

select * from tb_menu group by parent_id แล้วเอามา ถึก code เอาครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 11:52:53 By : Manussawin
 


 

No. 2



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

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

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

ตัวอย่างนะครับ

ดึงเมนูที่เกี่ยวข้อง ทั้งหัวข้อหลักและรอง
SELECT * FROM `your_menu_table`
WHERE
     `id` = '213'
     OR `parent_id` = '213'
ORDER BY `id` <> '213', `id`


ซึ่งแถวแรกที่ได้จะเป็นหัวข้อใหญ่ครับ แถวที่เหลือจะเป็นหัวข้อรอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 12:13:48 By : phpinfo()
 

 

No. 3



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



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


ได้แระครับ แต่ลองไปทำกับเทเบิ้ลง่ายๆก่อนเหอๆ สอบถามหน่อยครับว่า ถ้ากรณีแบบรูปต่อไปนี้ ต้องจอยเทเบิ้ลกัน โดยที่ผมเขียน
คำสั่งแบบนี้ครับ แต่มันโชว์ออกมาเทเบิ้ลเดียวเองครับ แต่ได้รูปแบบตามต้องการแล้ว ที่นี้แถวย่อยที่สามมันอยู่อีกเทเบิ้ลนึง
ผมจะแทรกคำสั่งไงได้บ้างครับ ลองจอยแล้วซับเมนูย่อยหายไป

Code (PHP)
<?php 
	foreach ($this->FullSearchListLv1 as $item){
	$db = JFactory::getDbo();
	$sql = "SELECT `id`, `NAME`, `parent` FROM tb_k2_categories WHERE id >0 AND parent ='$item->id' ";
			 
	$db->setQuery($sql);
	$rs = $db->loadObjectList(); 
?>
	<div class="row-check2f" >
		<?php //$link = 'index.php?option=com_k2&view=item&layout=item&id='.$item->id.'';?>
		<li><span><?php echo $item->NAME ?></span></span></li>
		
		
<?php 	
	foreach ($rs as $item2){ 
?>
		<div class="row-check2f subcheck2f">
			
			<?php $link = 'index.php?option=com_k2&view=item&layout=item&id='.$item2->id.'';?>
			<li style="margin-left:15px;" ><a href="<?php echo $link ?>"><span><?php echo $item2->NAME ?></span></span></a></li>
			
		</div>
<?php 
	}
?>
	</div>
<?php
}

?>


อันนี้คือที่เขียนออกมาครับ ได้ผลดังภาพนี้ครับ แต่ผมอยากเอาเมนูย่อยที่อยู่อีกเทเบิ้ลนึงมาแสดงด้วยอ่ะครับ
มันมีฟิว Cat.id เป็น Forign key เชื่อมครับ

v5

-ผลจากโค๊ดข้างต้นครับ ได้แบบนี้ครับ แต่อยากให้มีเมนูย่อยที่สาม ออกมาอ่ะครับ

tbcat

-นี่คือเบสของเมนูย่อยที่สามครับ

$sql = "SELECT `id`, `NAME`, `parent` FROM tb_k2_categories WHERE id >0 AND parent ='$item->id' ";
ตรงนี้ผมเขียนคำสั่งจอยไงดีครับ ถ้าผมแทรกแบบนี้เข้าไป ออกมาแค่เมนูหลักครับ
LEFT JOIN tb_k2_categories ON tb_k2_items.catid = tb_k2_categories.id

T_T มันลูปไม่ออกด้วยครับ For Each


ประวัติการแก้ไข
2014-12-09 12:49:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 12:40:10 By : sarut14
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 12:41:27 By : mr.win
 


 

No. 5



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



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

ไป คิวรี่ ข้างใน foreach อีกทีคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 12:55:04 By : progamer2000
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : progamer2000 เมื่อวันที่ 2014-12-09 12:55:04
รายละเอียดของการตอบ ::
ใช้คำสั่ง Left join เหมือนเดิมถูกไหมครับ คือคำสั่ง
LEFT JOIN tb_k2_categories ON tb_k2_items.catid = tb_k2_categories.id
ยังๆๆอยู่ขอรับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 13:02:38 By : sarut14
 


 

No. 7



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



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

ไม่ต้อง join แล้วคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 14:02:47 By : progamer2000
 


 

No. 8



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



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


มันออกมาแบบนี้ครับ ซ้ำเลย มันไม่อยู่หมวดใครหมวดมันอ่ะครับ เช่นลิ้งสีน้ำเงิน จริงๆมันจะมี catid=id กัน

โค๊ดผม

Code (PHP)
<?php 
	foreach ($this->FullSearchListLv1 as $item):
	
	$db = JFactory::getDbo();
	$sql = "SELECT `id`, `NAME`, `parent` FROM tb_k2_categories 
			WHERE id >0 AND parent ='$item->id' ";
			 
	$db->setQuery($sql);
	$rs = $db->loadObjectList();

	?>
	<div class="row-check2f" >
		<?php //$link = 'index.php?option=com_k2&view=item&layout=item&id='.$item->id.'';?>
		<li><span><?php echo $item->NAME ?></span></span></li>
		</div>
	<?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
	$db = JFactory::getDbo();
		$sql2 = "SELECT  tb_k2_items.id , tb_k2_items.title , tb_k2_items.catid,tb_k2_categories.id
				FROM tb_k2_items
					
				WHERE tb_k2_items.id
				ORDER BY tb_k2_items.id";
	$db->setQuery($sql2);
	$rs2 = $db->loadObjectList();
	//print_r($rs2);
	//exit;
	
	?>
	
	<?php
		foreach($rs2 as $item3) :
		?>
		
		<div class="row-check2f subcheck2f">
			<?php $link = 'index.php?option=com_k2&view=item&layout=item&id='.$item3->id.'';?>
			<li style="margin-left:30px;" ><a href="<?php echo $link ?>"><span><?php echo $item3->title ?></span></span></a></li>
		</div>
		
	<?php
			endforeach;
		
		endforeach;
		endforeach;



รูปที่ได้ T_T

vv


ประวัติการแก้ไข
2014-12-09 15:08:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 14:59:16 By : sarut14
 


 

No. 9



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



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

ไม่เห็น where cat_id = ??? อะไรเลยฮะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 15:40:51 By : progamer2000
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : progamer2000 เมื่อวันที่ 2014-12-09 15:40:51
รายละเอียดของการตอบ ::
ใช่ครับ คือผมไม่คิดไม่ออกอ่ะครับ ว่าจะทำไงให้มันออกมามีเมนูย่อยอันที่สาม พอใส่ id=catid มันก็ซ้ำอีก

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 16:13:23 By : sarut14
 


 

No. 11



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



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


ได้แระครับ

WHERE tb_k2_items.catid ='".$item2->id."'";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 17:47:43 By : sarut14
 


 

No. 12



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



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

ได้ละนิ เย่ อย่าคิดเยอะ 555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 18:03:52 By : progamer2000
 


 

No. 13



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



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


จริงๆ หลักมัน คือ คิวรี่ เมนูหลักมาก่อน
แล้วเอา id ที่ได้ ไปคิวรี่ ไอดีลอง อีกที

select * from table where parent=0 or parent=null or parent='' ก็เลือกเอานะครับ เพราะไม่รู้เก็บแบบไหน

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
     }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-09 18:33:27 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เงื่อนไขแบบนี้เรียกคำสั่ง Mysql PHP อย่างไรครับให้ได้ผลคล้ายๆในภาพนี้ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่