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 > มีวิธี select 3 ตาราง โดยรับค่า $_GET บ้างไหมค่ะ ? //หรือพอจะมีวิธีไหนที่แสดงข้อมูลที่รับมาได้บ้าง ?



 

มีวิธี select 3 ตาราง โดยรับค่า $_GET บ้างไหมค่ะ ? //หรือพอจะมีวิธีไหนที่แสดงข้อมูลที่รับมาได้บ้าง ?

 



Topic : 119370



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



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



ตอนนี้ติดเรื่องการ select ข้อมูลสามตารางค่ะ
ซึ่งตอนนี้ดึงข้อมูลออกมาได้แค่ตารางเดียวค่ะ
ลองทำการ JOIN , LEFT JOIN ดูก็ยังทำไม่ได้ค่ะ
เพราะต้อง where ตัวแปรที่รับมาน่ะคะ
เลยไม่รู้จะทำยังไง ทำมาสองวันแล้วก็ยังทำไม่ได้เลยค่ะ จนปัญญา
#พอจะช่วยแนะนำการ select สามตาราง โดยรับค่าหน่อยได้ไหมค่ะ ?

Code (PHP)
<? require_once('Connections/durable_connect.php'); ?>
<?php
ob_start();
date_default_timezone_set('UTC');
define('FPDF_FONTPATH','fpdf/font/');
require('fpdf/fpdf.php');

////////////////////////////////////////////// ฟังก์ชั่นการแสดงเวลาเป็นของไทย

$thai_day_arr=array("อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์");
$thai_month_arr=array(
	"0"=>"",
	"1"=>"มกราคม",
	"2"=>"กุมภาพันธ์",
	"3"=>"มีนาคม",
	"4"=>"เมษายน",
	"5"=>"พฤษภาคม",
	"6"=>"มิถุนายน",	
	"7"=>"กรกฎาคม",
	"8"=>"สิงหาคม",
	"9"=>"กันยายน",
	"10"=>"ตุลาคม",
	"11"=>"พฤศจิกายน",
	"12"=>"ธันวาคม"					
);
function thai_date($time)
{
	global $thai_day_arr,$thai_month_arr;
	$thai_date_return="วัน".$thai_day_arr[date("w",$time)];
	$thai_date_return.=	"ที่ ".date("j",$time);
	$thai_date_return.=" เดือน".$thai_month_arr[date("n",$time)];
	$thai_date_return.=	" พ.ศ.".(date("Y",$time)+543);
	//$thai_date_return.=	"  ".date("H:i",$time)." น.";
	return $thai_date_return;
}
/////////////////////////////////////////// จบฟังก์ชั่นการแสดงเวลาเป็นของไทย


class PDF extends FPDF
{
	function Header()
	{
		$this->SetMargins(10,20,10);
		$this->AddFont('angsa','','angsa.php'); //เพิ่มฟอนท์เข้ามาในเอกสาร
		$this->Image('img/galacy.jpg',64,0,80); //โลโก้หัวกระดาษ
		$this->Cell(0,10,iconv('UTF-8','cp874',''),0,1); //ขึ้นบรรทัดใหม่
		$this->SetFont('angsa','',14); //กำหนดแบบและขนาดตัวอักษร
		$this->Cell(0,10,iconv('UTF-8','TIS-620',' เลขที่ใบขอยืม '.$_GET['drb_or_id'].' '),0,0,'R');
		
		$this->SetFont('angsa','',18);
		$this->Cell(0,10,iconv('UTF-8','TIS-620',''),0,1);
		$this->Cell(0,10,iconv('UTF-8','TIS-620','แบบฟอร์มขอยืมครุภัณฑ์'),0,1,"C");
	
		$this->SetFont('angsa','','14');
		$this->Cell(0,15,iconv('UTF-8','TIS-620',''.thai_date(time()).''),0,1,"R"); //เพิ่มวันที่ทำเอกสารมุมขวา
		
		// ส่วนข้อมูลผู้ยืม //
  		$this->SetFont('angsa','',16);
		$this->Cell(100,10,iconv('UTF-8','cp874','          ชื่อ-นามสกุล :      '.$_POST['emp_name'].' '),0,0);
		$this->Cell(100,10,iconv('UTF-8','cp874','          ตำแหน่ง :      '.$_POST['emp_posi'].' '),0,1);
	
		$this->Cell(100,10,iconv('UTF-8','cp874','          สังกัด :      '.$_POST['emp_org'].' '),0,0);
		$this->Cell(100,10,iconv('UTF-8','cp874','          โทร :      '.$_POST['emp_tel'].' '),0,1);
		$this->Ln(5);
		//$header = array('ชื่อหมวด','รหัส','ชื่อครุภัณฑ์','ราคา(บาท/หน่วย)','จำนวนที่ยืม'); //การกำหนดหัวตาราง
	}
	
	function Footer()
	{
		$this->SetMargins(20,10,20);
		$this->AddFont('angsa','','angsa.php');
		$this->SetFont('angsa','',12);
    	$this->SetY(-15);
    	$this->Cell(0,10,iconv( 'UTF-8','TIS-620','ฝ่ายส่งเสริมการรังสรรค์ผลิตภัณฑ์อวกาศ'),'T',0,'L');
		$this->Cell(0,10,iconv( 'UTF-8','TIS-620','page '.$this->PageNo().' of  tp' ),'T',0,'R');
	}	
	
	
	function table1($header,$data)
	{
		$this->AddFont('angsa','B','angsa.php');
		$this->SetFont('angsa','B',16);
		$this->SetFont('');
		$this->Ln('1');
	
		$w=array(10,45,45,45,15,15);//Column widths
		
		for($i=0;$i<count($header);$i++)//Header
			$this->Cell($w[$i],10,iconv('UTF-8','TIS-620',$header[$i]),1,0,'C');
		$this->Ln();
		
		//Data	
		$rang = 1;
		foreach ($data as $eachdata)
		{	
			$this->Cell(10,7,iconv('UTF-8','TIS-620',$rang++),1,0,'LR');		
			$this->Cell(45,7,iconv('UTF-8','TIS-620',$eachdata["drb_cg_name"]),1,0,'LR');
			$this->Cell(45,7,iconv('UTF-8','TIS-620',$eachdata["drb_cg_idshow"].$eachdata["drb_pd_code"]),1,0,'LR');
			$this->Cell(45,7,iconv('UTF-8','TIS-620',$eachdata["drb_pd_name"]),1,0,'LR');
			$this->Cell(15,7,iconv('UTF-8','TIS-620',$eachdata["drb_pd_price"]),1,0,'LR');
			$this->Cell(15,7,iconv('UTF-8','TIS-620',$eachdata["drb_ord_Qty"]),1,0,'LR');	
			$this->Ln();
		}				
	}	
}
	
	$pdf = new PDF;
	$pdf->AliasNbPages( 'tp' ); //แสดงเลขหน้า
	
	//Column titles
	$header=array ('ลำดับ','ชื่อหมวด','รหัสครุภัณฑ์','ชื่อครุภัณฑ์','ราคา','จำนวน');
	
	//*** Load MySQL Data ***//
	$drb_or_id = $_GET['drb_or_id']; 
	
	//$strSQL1 = " SELECT drb_cataloge.drb_cg_idshow , drb_cataloge.drb_cg_name , drb_product.drb_pd_code , drb_product.drb_pd_name ,
	//			drb_orders_detail.drb_or_id FROM drb_orders_detail 
	//			INNER JOIN drb_cataloge ON drb_cataloge.drb_cg_id = drb_orders_detail.drb_cg_id
 	//			INNER JOIN drb_product ON drb_product.drb_pd_id = drb_orders_detail.drb_pd_id
 	//			ORDER BY drb_orders_detail.drb_or_id = '".$drb_or_id."' ";
	//$strSQL1 = " SELECT * FROM drb_product 
	//			 INNER JOIN drb_orders_detail ON drb_product.drb_pd_id = drb_orders_detail.drb_or_id
	//			 LEFT JOIN drb_cataloge ON drb_product.drb_pd_id = drb_cataloge.drb_cg_id
	//			 WHERE drb_orders_detail.drb_or_id = '$drb_or_id' ";
				 
	$strSQL1 = " SELECT * FROM drb_orders_detail WHERE drb_or_id = '".$drb_or_id."' "; //ลอง select ทั้งสามตาราง ก็โชว์ข้อมูล ในตาราง drb_orders_detail ทั้งหมดเลยค่ะ แล้วก็วนข้อมูลซ้ำด้วย	
	$objQuery = mysql_query($strSQL1);
	$resultData = array();

	for ($x=0;$x < mysql_num_rows($objQuery);$x++) 
	{	
		$result = mysql_fetch_array($objQuery);
		array_push($resultData,$result);		
	}
	/////////////////////////////////////////////
	
	$pdf->AddPage(); //เพิ่มหน้า	
	$pdf->AddFont('angsa','','angsa.php'); //เพิ่มfontเข้ามาในเอกสาร
	$pdf->SetMargins(20,10,20);
	$pdf->Cell(100,10,iconv('UTF-8','cp874','          รายละเอียดของครุภัณฑ์ที่ขอยืม'),0,1);
	
	$pdf->table1($header,$resultData); //โชว์ตาราง


        // การแสดงข้อมูลที่ผู้ยืม ยืมครุภัณฑ์ โดยไม่ได้อยู่ในตาราง		(*แสดงนอกตารางได้ปกติค่ะ แต่ในตารางยังแสดงได้แค่ตารางเดียว*)
	$drb_or_id = $_GET['drb_or_id'];
	$sql = "select * from drb_orders_detail where drb_or_id = '".$drb_or_id."'";
	$qr = mysql_query($sql);
	
	while ($arr = @mysql_fetch_array($qr))
	{		
		
		$sql1 = "select * from drb_product where drb_pd_id = '".$arr['drb_pd_id']."'";
		$qr1 = mysql_query($sql1);
		$arr1 = mysql_fetch_array($qr1);				
		//-----------------------------//		
		$sql2 = " SELECT * FROM drb_cataloge WHERE drb_cg_id = '".$arr1['drb_cg_id']."'";
		$qr2 = mysql_query($sql2);
		$arr2 = mysql_fetch_array($qr2);
		
		$pdf->Cell(100,10,iconv('UTF-8','cp874','- ชื่อหมวด :      '.$arr2['drb_cg_name'].' '),0,1);
		$pdf->Cell(100,10,iconv('UTF-8','cp874','- รหัสครุภัณฑ์ :      '.$arr2['drb_cg_idshow'].''.$arr1['drb_pd_code'].' '),0,0);
		$pdf->Cell(100,10,iconv('UTF-8','cp874','- ชื่อครุภัณฑ์ :      '.$arr1['drb_pd_name'].' '),0,1);
	
		$pdf->Cell(100,10,iconv('UTF-8','cp874','- จำนวนที่ขอยืม :      '.$arr['drb_ord_Qty'].' '),0,0);
		$pdf->Cell(100,10,iconv('UTF-8','cp874','- มูลค่า/ราคา :      '.$arr1['drb_pd_price'].'  บาท/หน่วย '),0,1);
		$pdf->Cell(100,2,iconv('UTF-8','cp874',''),0,1);
	}//--------------------------------สิ้นสุดการวนรายการครุภัณฑ์ 	 
	
	
	$pdf->Cell(85,10,iconv('UTF-8','cp874',''),0,0);
	$pdf->Cell(85,10,iconv('UTF-8','cp874','                 มูลค่ารวมทั้งสิ้น    '.$_POST['total_sum'].'  บาท-.'),0,1);
		
	$pdf->MultiCell(0,10,iconv('UTF-8','cp874',''),'T',1);
	$pdf->MultiCell(0,10,iconv('UTF-8','cp874','- สำหรับเจ้าหน้าที่ -'),0,1);
	
	$pdf->MultiCell(0,10,iconv('UTF-8','cp874','สถานะการรับครุภัณฑ์ :      [  ] รับของแล้ว  เมื่อวันที่ ............/........../............'),0,1);
	
	$pdf->MultiCell(0,10,iconv('UTF-8','cp874','สภาพก่อนยืม :      .........................'),0,1);
	
	$pdf->MultiCell(0,10,iconv('UTF-8','cp874','กำหนดการคืนครุภัณฑ์ :      ............/........../............'),0,1);
	
	$pdf->MultiCell(0,10,iconv('UTF-8','cp874',''),0,1);
	
	$pdf->SetLeftMargin(21);
	$pdf->Cell(100,10,iconv('UTF-8','cp874','ลงชื่อ.............................................เจ้าหน้าที่'),0,0);
	$pdf->Cell(100,10,iconv('UTF-8','cp874','ลงชื่อ.............................................ผู้ยืม'),0,1);
	
	$pdf->SetLeftMargin(29);
	$pdf->Cell(100,10,iconv('UTF-8','cp874','(...........................................)'),0,0);
	$pdf->Cell(100,10,iconv('UTF-8','cp874','(...........................................)'),0,1);
	
	$pdf->SetLeftMargin(33);
	$pdf->Cell(100,10,iconv('UTF-8','cp874','............/........../............'),0,0);
	$pdf->Cell(100,10,iconv('UTF-8','cp874','............/........../............'),0,1);
	
	$pdf->Output();

mysql_close($durable_connect);
ob_end_flush();
?>


เป็นโค้ดที่ทำเป็นไฟล์ PDF โดยรับค่า drb_or_id ที่ลูกค้ายืมครุภัณฑ์ออกมาแสดงในตาราง
คือ พอจะมีวิธีไหนที่จะแสดงข้อมูลจากทั้งสามตาราง มาแสดงในตารางอันเดียวกัน โดยอ้างอิงมาจาก id ของ order detail ที่ลูกค้ายืมครุภัณฑ์บ้างไหมค่ะ ??



Tag : PHP, MySQL









ประวัติการแก้ไข
2015-10-13 16:46:34
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-10-13 16:39:15 By : hiyingzha View : 1629 Reply : 2
 

 

No. 1



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



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

$sql = "select * from drb_orders_detail where drb_or_id = '".$drb_or_id."'";
$sql1 = "select * from drb_product where drb_pd_id = '".$arr['drb_pd_id']."'";
$sql2 = " SELECT * FROM drb_cataloge WHERE drb_cg_id = '".$arr1['drb_cg_id']."'";

รวมเป็น statement เดียว
Code (PHP)
$sql = "
select * 
from drb_orders_detail a, drb_product b, drb_cataloge c  
where a.drb_or_id = '$drb_or_id'
and b.drb_pd_id = a.drb_pd_id
and b.drb_cg_id = c.drb_cg_id
";
/// หรือ
$sql = "
select * 
from drb_orders_detail a
left join drb_product b on a.drb_pd_id = b.drb_pd_id
left join drb_cataloge c on b.drb_cg_id = c.drb_cg_id 
where a.drb_or_id = '$drb_or_id'
";


ยังไงก็ลองเทสต์บน phpmyadmin ดูก่อนนะครับ จะได้เห็นหน้าตาข้อมูล
และอย่าลืมเปลี่ยนตัวแปร $drb_or_id ของ PHP ด้วยนะครับ








ประวัติการแก้ไข
2015-10-13 19:19:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-13 19:17:14 By : NewbiePHP
 


 

No. 2



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



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

ขอบคุณ คุณ NewbiePHP มากค่ะ
ตอนนี้ลองทำการ select ข้อมูล ตามที่แนะนำมาได้แล้วค่ะ ^_^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-14 09:41:41 By : hiyingzha
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีวิธี select 3 ตาราง โดยรับค่า $_GET บ้างไหมค่ะ ? //หรือพอจะมีวิธีไหนที่แสดงข้อมูลที่รับมาได้บ้าง ?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่