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 : 107014



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



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




สวัสดีครับ จากกระทู้ที่ผมเคยสอบถามไปเมื่อ 5 6 วันก่อน เรื่องการดึงข้อมูลมาต่อกัน
ผมยังทำไม่ได้เลยอ่าครับ ขอความช่วยเหลือหน่อยนะครับ

ผมมีตารางอยู่สองตาราง ตารางแรกเก็บข้อมูลเกี่ยวกับประเภทของสถานที่ท่องเที่ยว
โดยมีรายละเอียดดังภาพ
1


ตารางที่สองเก็บข้อมูลเกี่ยวกับชื่อและรายละเอียดของสถานที่ท่องเที่ยว
2

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

ผมต้องการดึงข้อมูลมาต่อกันให้ได้แบบรูปนี้อ่าครับ
4


ตอนนี้ที่ผมทำได้แค่ดึงหัวข้อหลักมาแสดง แต่ไม่รู้จะดึงหัวข้อย่อยมาต่อยังไง
3


ถ้าใครมีโค้ดที่คล้ายๆกัน ช่วยแนะนำด้วยนะครับ ผมตันแล้วจริงๆ
ปล. ผมพึ่งหัดเขียนเว็บอ่าครับ

ขอบคุณล่วงหน้านะครับ



Tag : PHP, MySQL, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-03-18 02:15:37 By : rabbitkn View : 2419 Reply : 10
 

 

No. 1



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

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

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


ถ้าไม่หวง ตาราง export มาโพสต์...ผมจะลองทำถึงจะรู้...

หรือ ถ้า join ไม่เป็น....

ก็ต้อง order by group ก่อน
จัดกลุ่ม แล้วเอาหัวข้อใหญ่มา echo ก่อน แล้ว คิวรี่อีกรอบ ถ้า id สัมพันธ์ทุกอย่างก็ง่าย...

ตย.คล้าย ๆ มีไหม มีครับ แต่เมื่อ ตารางฐานข้อมูลไม่ตรงกันคุณเอาไปดูก็จะงงไปกันใหญ่

นี่ก็เคยทำไว้
คลิกดู
แต่ถ้าโพสต์ไปก็จะพาคุณ งง ไปอีก






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 10:22:47 By : apisitp
 


 

No. 2



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

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

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


จะลองก็ได้ เพื่อคุณจะเข้าใจ
Code (PHP)
	//การจัดกลุ่มว่ามีกี่กลุ่ม ถ้าไม่มีก็ไม่แสดง
			$strGroup = "select * from tb_teacher group by `ref_id_dev` order by `ref_id_dev`";
			$objGroup = mysql_query($strGroup);
			$totalGroup = mysql_num_rows($objGroup); // หาจำนวน record ที่จัดกลุ่ม มีเท่าไรก็มาแสดงเท่านั้น
			//echo $totalGroup;
			 while($rsGroup = mysql_fetch_array($objGroup))
			{
				$a[] = $rsGroup["ref_id_dev"];//จับยัดใส่อะเรย์
			}


?>
<form id="form2" name="form2" method="post" action="">
<p>รายชื่ออาจารย์</p>
    
	<?
	$x=$totalGroup-1;//ต้องลบ 1 ไม่งั้นลูปจะเกิน
	for($i=0;$i<=$x;$i++)//เอาค่าจากอะเรย์มาใช้
{
			
  			$strSQL01 = "SELECT * FROM tb_dev where id_dev= '$a[$i]' ";
			$objQuery01 = mysql_query($strSQL01);
			$rs = mysql_fetch_array($objQuery01);
			$dev = $rs["id_dev"];
			//echo $b[$i];


  	?>
	?>
    <table width="673" height="69" border="1">
        <tr>
      			<td colspan="6"><?=$rs["dev_name"];?></td>
    		</tr>
<?PHP 
			$strSQL02 = "SELECT * FROM tb_teacher where ref_id_dev= '$dev' ORDER BY id_teacher ASC";
			$objQuery02 = mysql_query($strSQL02);
			
			$sqlquery=mysql_db_query($dbname, $strSQL02); 
			$total = mysql_num_rows($sqlquery); // หาจำนวน record 
			//echo $total ;
			if($total==0){

			}else{
						while($objResuut02 = mysql_fetch_array($objQuery02))
			{
				?>
				<tr>
      			<td width="125"><?=$objResuut02["teacherName"];?></td>
				<td width="125"><?=$objResuut02["xxxxxxxxxxxx"];?>ค่า 1</td>
				<td width="125"><?=$objResuut02["xxxx"];?>ค่า 2</td>
      		</tr>
	<?PHP
			}}
				?>
				</table>
				<?PHP
				}
	?>
  
</form>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 10:24:14 By : apisitp
 

 

No. 3



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



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


ขอบคุณ คุณ Doctor K

ผมอัพโหลดไฟล์ฐานข้อมูลมาแล้วครับ ลบกวนคุณอีกครั้งนะครับ

http://www.one2up.com/view_content.php?content_ID=756345

ผมลองเขียน Join table แล้วครับแต่มันเออเร่อ หัวข้อหลักก็หายไปหมดเลย ผมเลยไม่กล้าเขียนต่อกลัวงานพังอ่าครับ

ขอบคุณล่วงหน้านะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 10:57:44 By : rabbitkn
 


 

No. 4



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



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


ผมรอคุณ Doctor K มาตอบอยู่นะครับ

ขอดันกระทู้หน่อยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 12:38:01 By : rabbitkn
 


 

No. 5



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

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

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


ผมโหลดไฟล์แล้วมัน Failed - ลอง Zip ไฟล์ก่อน
ไม่งั้นเอาเฉพาะ ข้อมูลย่อ ๆ ที่ Export มา มาโพสต์ลงที่กระทู้เลยก็ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 15:17:10 By : apisitp
 


 

No. 6



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



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


-- phpMyAdmin SQL Dump
-- version 4.0.9
-- http://www.phpmyadmin.net
--
-- โฮสต์: 127.0.0.1
-- เวลาในการสร้าง:
-- เวอร์ชั่นของเซิร์ฟเวอร์: 5.5.34
-- รุ่นของ PHP: 5.4.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- ฐานข้อมูล: `rattanakosin`
--

-- --------------------------------------------------------

--
-- โครงสร้างตาราง `tour_th`
--

CREATE TABLE IF NOT EXISTS `tour_th` (
`Tour_Id` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
`Type_Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`Tour_Name` text COLLATE utf8_unicode_ci NOT NULL,
`Tour_Detail` text COLLATE utf8_unicode_ci NOT NULL,
`Tour_Bus` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`Tour_Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=15 ;

--
-- dump ตาราง `tour_th`
--

INSERT INTO `tour_th` (`Tour_Id`, `Type_Name`, `Tour_Name`, `Tour_Detail`, `Tour_Bus`) VALUES
(00008, 'วัดในศาสนาพุทธ', 'วัดพระแก้ว', '<p>วัดพระแก้ว</p>\r\n', '123456789011111'),
(00009, 'อนุสาวรีย์', 'เสาชิงช้า', '<p>เสาชิงช้า</p>\r\n', '121212'),
(00010, 'สถานที่พักผ่อน', 'สวนสันติชัยปราการ', '<p>สวนสันติชัยปราการ</p>\r\n', '1234567890'),
(00011, 'วัดในศาสนาพุทธ', 'วัดมหาธาตุ', '<p>12345</p>\r\n', '12345678'),
(00012, 'โบราณสถานสำคัญ', 'วัดเบญจมบพิตร', '<p>วัดเบญจมบพิตร</p>\r\n', '1123477889'),
(00013, 'อนุสาวรีย์', 'อนุาวรีย์ประชาธิปไตย', '<p>อนุาวรีย์ประชาธิปไตย</p>\r\n', '1123477889'),
(00014, 'สถานที่พักผ่อน', 'สวนลุมพินี', '<p>สวนลุมพินี</p>\r\n', '121212');

-- --------------------------------------------------------

--
-- โครงสร้างตาราง `type_th`
--

CREATE TABLE IF NOT EXISTS `type_th` (
`Type_Id` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
`Type_Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`Type_Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;

--
-- dump ตาราง `type_th`
--

INSERT INTO `type_th` (`Type_Id`, `Type_Name`) VALUES
(00001, 'อนุสาวรีย์'),
(00002, 'โบราณสถานสำคัญ'),
(00003, 'วัดในศาสนาพุทธ'),
(00004, 'สิ่งก่อสร้างสาธารณูปโภค'),
(00005, 'สถานที่พักผ่อน'),
(00006, 'สถานที่สักการะบูชา'),
(00007, 'ป้อมกำแพงเมือง');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

นี่เป็นฐานข้อมูลที่ผมสร้างไว้นะครบ

และผมลองอัพโหลดใหม่สำรองไว้ เผื่อใช้ไม่ได้

http://www.mediafire.com/download/53i6fzm955z0919/rattanakosin+%281%29.rar
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 15:25:44 By : rabbitkn
 


 

No. 7



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

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

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


ระหว่างที่ผมกำลังช่วยอยู่ อาจจะมีคนเก่ง ๆ ใจดีช่วยให้ผ่านไปแล้ว....
แต่ถ้าไม่มีรอหน่อย ผมไม่เก่งแต่ขอเวลา 555+
ฝาก แต่สิ่งที่อยากให้ปรับ คือ ที่ ตาราง tour_th แทนที่จะเก็บเป็น Type_Name เอา id ของ Type_Id มาเก็บดีกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 16:00:44 By : apisitp
 


 

No. 8

Guest


หลักการนะ จากรูปแรก
https://www.thaicreate.com/upload/stock/20140318015514.png?v=1001
ฟิลด์ tour_id ให้เก็บเป็นเลข 1, 2 ,3 ไม่ต้องใส่เลข 0

ต่อมารูปสอง
https://www.thaicreate.com/upload/stock/20140318015537.png?v=1001
type_id คุณหมายถึง tour_id หรือเปล่า

ดีบีสองน่าจะต้องใช้แบบนี้นะ
no | tour_id | name

แล้วใช้โค้ดคิวรี่ 2 จุด(บางคนอาจใช้ join ก็จะใช้ 1 จุด) แต่ผมขอพูดถึง SELECT 2 ครั้งตามที่ผมถนัดละกัน
query หมวดหลัก
query หมวดหย่อย
mysql_close query หมวดหย่อย
mysql_close query หมวดหลัก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 16:11:12 By : phun
 


 

No. 9



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

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

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


อะไรไม่เอาไปปรับเองครับ
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<?php
$host="localhost";
//ส่วนนี้คุณดึงของคุณมาใช้ได้เลย แล้วลบไม่เกี่ยวออก
$user="";
$pw="";
$dbname="";
	mysql_connect($host,$user,$pw) or die("ติดต่อ Host ไม่ได้");
	mysql_select_db($dbname) or die("ติดต่อฐานข้อมูลไม่ได้");
	mysql_query("SET character_set_results=tis620");
	mysql_query("SET character_set_client='tis620'");
	mysql_query("SET character_set_connection='tis620'");
	mysql_query("collation_connection = tis620_thai_ci");
	mysql_query("collation_database = tis620_thai_ci");
	mysql_query("collation_server = tis620_thai_ci");
// ลบถึงตรงนี้

			//การจัดกลุ่มว่ามีกี่กลุ่ม ถ้าไม่มีก็ไม่แสดง
			$strGroup = "select * from tour_th group by Type_Name order by Type_Name";
			$objGroup = mysql_query($strGroup);
			$totalGroup = mysql_num_rows($objGroup); // หาจำนวน record ที่จัดกลุ่ม มีเท่าไรก็มาแสดงเท่านั้น
			//echo $totalGroup;
			 while($rsGroup = mysql_fetch_array($objGroup))
			{
				$a[] = $rsGroup["Type_Name"];//จับยัดใส่อะเรย์
			}

	$x=$totalGroup-1;//ต้องลบ 1 ไม่งั้นลูปจะเกิน
	for($i=0;$i<=$x;$i++)//เอาค่าจากอะเรย์มาใช้
{
			
  			$strSQL01 = "SELECT * FROM type_th where Type_Name= '$a[$i]' ";
			$objQuery01 = mysql_query($strSQL01);
			$rs = mysql_fetch_array($objQuery01);
  			//echo $rs["Type_Name"];

			?>
  <table width="673" height="69" border="1">
        <tr>
      			<td colspan="6"><?=$rs["Type_Name"];?></td>
    		</tr><br>

<?php
			$strSQL02 = "SELECT * FROM tour_th where Type_Name ='".$rs["Type_Name"]."' ORDER BY  `tour_th`.`Tour_Id` ASC ";
			$objQuery02 = mysql_query($strSQL02);
			$total = mysql_num_rows($objQuery02); // หาจำนวน record 
			//echo $total ;
			if($total==0){
	}else{
						while($objResuut02 = mysql_fetch_array($objQuery02))
			{
				?>
				<tr>
      			<td width="125"><?=$objResuut02["Tour_Name"];?></td>
			
      		</tr>
	<?PHP
			}}
				?>
				</table>
				<?PHP
				}
	?>

ผลลัพธ์


ประวัติการแก้ไข
2014-03-18 16:26:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 16:25:08 By : apisitp
 


 

No. 10



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



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


ขอบคุณมากนะครับคุณ Doctor K และความคิดเห็นที่ 8

ขอบคุณมากจริง ผมนั่ง งง มาหลายวัน ในที่สุดก็หาทางออกได้สักที

ขบคุณนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 17:04:02 By : rabbitkn
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 03
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 อัตราราคา คลิกที่นี่