inner join ตาราง แต่ว่ามันไม่แสดง....แสดง error Unknown column 'po_mas.branch_no' in 'on clause'
inner join ตาราง แต่ว่ามันไม่แสดง..ต้องการดึงชื่อสาขา(branch) มาแสดงเนื่องจากตอนนี้แสดงเป็นไอดีของสาขาอยู่
แสดง error Unknown column 'po_mas.branch_no' in 'on clause'
แต่ในตาราง po_mas มีคอลัมน์นี้อยู่น่ะค่ะ
<?php
require('fpdf.php');
define('FPDF_FONTPATH','font/');
class PDF extends FPDF
{
//Load data
function LoadData($file)
{
//Read file lines
$lines=file($file);
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}
function Header()
{
$this->Image('image/logo.jpg',10,6,30);
$this->AddFont('cordiab','','cordiab.php');
$this->SetFont('cordiab','',18);
$this->Cell(0,10,iconv('UTF-8','TIS-620','บจก. ตั้งใจกลการพัฒนา (ศูนย์ซ่อมบำรุง)'),0,1,'C');
$this->Cell(0,10,iconv('UTF-8','TIS-620','เลขที่ 62/49 ถ.วังตอ ต.ทับเที่ยง อ.เมือง จ.ตรัง 92000'),0,1,'C');
$this->Cell(0,10,iconv('UTF-8','TIS-620','โทรศัพท์ : 081-111-2233'),0,1,'C');
$this->Cell(0,10,iconv('UTF-8','TIS-620','ใบสั่งซื้อรถ'),0,1,'C');
// Line break
$this->Ln(10);
}
function Footer()
{
$this->SetLineWidth(0.5);
include("time.php");
$this->AddFont('cordia','B','cordia.php');
$this->SetFont('cordia','B',12);
//นับจากขอบกระดาษด้านล่างขึ้นมา 15 มม.
$this->SetY(-15);
$this->Cell(0,0,iconv( 'UTF-8','TIS-620',''),1,0,"C");
//นับจากขอบกระดาษด้านล่างขึ้นมา 10 มม.
$this->SetY(-38);
$this->Cell(80,0,iconv( 'UTF-8','TIS-620','__________________________________'),0,1,"C");
$this->Cell(190,0,iconv( 'UTF-8','TIS-620','__________________________________'),0,1,"C");
$this->Cell(300,0,iconv( 'UTF-8','TIS-620','__________________________________'),0,1,"C");
//นับจากขอบกระดาษด้านล่างขึ้นมา 10 มม.
$this->SetY(-30);
$this->Cell(300,0,iconv( 'UTF-8','TIS-620','ผู้อนุมัติ'),0,1,"C");
$this->Cell(190,0,iconv( 'UTF-8','TIS-620','คู่ค้า'),0,1,"C");
$this->Cell(80,0,iconv( 'UTF-8','TIS-620','ฝ่ายจัดซื้อ'),0,1,"C");
$this->SetY(-15);
$this->Ln(5);
//พิมพ์วัน-เวลา ตรงมุมขวาล่าง
$this->Cell(0,0,iconv( 'UTF-8','TIS-620','By... ศูนย์ซ่อมตั้งใจกลการ'),0,0,"L");
$this->Cell(0,0,iconv( 'UTF-8','TIS-620','วันเวลาที่ี่พิมพ์ : '.date("$d-$m-$y $t")),0,1,"R");
}
//Better table
function table1($header,$data)
{
$this->SetMargins(10,60,10 );
$this->AddFont('cordia','B','cordia.php');
$this->SetFont('cordia','B',13);
//$this->Cell(30,10,iconv('UTF-8','TIS-620','บจก. ตั้งใจกลการพัฒนา (ศูนย์ซ่อมบำรุง)'),0,0,'C');
$this->SetFont('');
$this->Ln();
$this->Ln();
//Column widths
$w=array(10,35,35,20,45,20,20);
//Header
for($i=0;$i<count($header);$i++)
$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,9,iconv('UTF-8','TIS-620',$rang++.'.'),1,0,'C');
$this->Cell(35,9,iconv('UTF-8','TIS-620',$eachdata["machine_id"]),1,0,'LR');
$this->Cell(35,9,iconv('UTF-8','TIS-620',$eachdata["chassis_id"]),1,0,'LR');
$this->Cell(20,9,iconv('UTF-8','TIS-620',$eachdata["brand_name"]),1,0,'LR');
$this->Cell(45,9,iconv('UTF-8','TIS-620',$eachdata["type_name"]),1,0,'LR');
$this->Cell(20,9,iconv('UTF-8','TIS-620',$eachdata["color_name"]),1,0,'LR');
$this->Cell(20,9,iconv('UTF-8','TIS-620',number_format($eachdata["buy"])),1,0,'LR');
$this->Ln();
}
}
}//end class
//เรียกใช้งาน เราจะเรียกใช้คลาสใหม่ของเราแทน
$pdf=new PDF();
$pdf->AliasNbPages();//จำนวนหน้าทั้งหมด
//Column titles
$header=array ('ลำดับ','เลขเครื่อง','เลขถัง','ยี่ห้อ','รุ่น','สี','ราคาซื้อ (บาท)');
//Data loading
//*** Load MySQL Data ***//
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
$strSQL = "SELECT a.po_id,a.date_order,a.branch_no,b.machine_id,b.chassis_id,b.brand,b.class,b.type,b.color,b.buy FROM po_mas a,po_detail b
INNER JOIN brand c ON c.brand_id = b.brand
INNER JOIN type d ON d.type_id = b.type
WHERE
a.po_id = b.po_id AND
b.po_id = '".$_GET["po_id"]."' ";
$objQuery = mysql_query($strSQL);
echo mysql_error();
$branch = $objResult["branch"];
$name = $objResult["name"];
$date_order = $objResult["date_order"];
$resultData = array();
for ($i=0;$i<mysql_num_rows($objQuery);$i++) {
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result);
}
//*** Table 1 ***//
$pdf->AddPage();
$pdf->AddFont('cordia','','cordia.php');
$pdf->AddFont('cordia','','cordia.php');
$pdf->SetFont('cordia','',15);
$pdf->Ln(25);//ระยะจากบนขอบกระดาษ
$pdf->Cell( 280 , -10 , iconv( 'UTF-8','cp874' , 'กำหนดส่งรถ :' ) , 0 , 1,'C' );
$pdf->Cell( 283 , -10 , iconv( 'UTF-8','cp874' , 'วันที่สั่งซื้อ :' ) , 0 , 1 ,'C' );
$pdf->Cell( 290 , -10 , iconv( 'UTF-8','cp874' , 'เลขที่ :' ) , 0 , 1,'C' );
$pdf->Ln(30);
$pdf->Cell( 0 , -10, iconv( 'UTF-8','cp874' , $date_order ) , 0 , 1,'R' );
$pdf->Cell( 0 , -10 , iconv( 'UTF-8','cp874' , $date_order ) , 0 , 1,'R' );
$pdf->Cell( 0 , -10 , iconv( 'UTF-8','cp874' , $po_id ) , 0 , 1,'R' );
$pdf->Ln(30);
$pdf->Cell( 70 , -10 , iconv( 'UTF-8','cp874' , 'เบอร์โทร :' ) , 0, 1 , 'L' );
$pdf->Cell( 70 , -10 , iconv( 'UTF-8','cp874' , 'ที่อยู่ :' ) , 0, 1 , 'L' );
$pdf->Cell( 70 , -10 , iconv( 'UTF-8','cp874' , 'รับรถจากสาขา :') , 0, 1 , 'L' );
$pdf->Ln(30);
$pdf->Cell( 100 , -10, iconv( 'UTF-8','cp874' , $tel ) , 0 , 1,'C' );
$pdf->Cell( 80 , -10, iconv( 'UTF-8','cp874' , $address ) , 0 , 1,'C' );
$pdf->Cell( 80 , -10, iconv( 'UTF-8','cp874' , $branch ) , 0 , 1,'C' );
$pdf->Ln(10);//ระยะจากบนขอบกระดาษ
$pdf->AddFont('cordia','','cordia.php');
$pdf->SetFont('cordia','',13);
$pdf->Cell(10,13);
$pdf->table1($header,$resultData);
$pdf->Output("report_po.pdf","F");
?>
Tag : PHP, MySQL
ประวัติการแก้ไข 2013-05-13 09:10:32
Date :
2013-05-13 09:02:23
By :
lookpla26
View :
1128
Reply :
19
ยังไม่ได้เลย
ประวัติการแก้ไข 2013-05-13 09:48:38
Date :
2013-05-13 09:28:37
By :
lookpla26
po_mas a มันบอกไม่รู้จัก field นี้ เพราะคุณไ่ม่ได้ join ตาราง a ให้มันมันเลยไม่รู้จัก
Date :
2013-05-13 10:09:06
By :
teez1232002
หลักการเขียนการ join นะครับ
Code (PHP)
select a.*,b.* FROM $table a LEFT JOIN $tabel b ON (a.po_id=b.po_id) WHERE b.po_id = '$_GET[po_id]'
คุณใช้ดูข้อมูลแค่ 2 ตารางก็ join กัน 2 ตารางพอ d ไม่ได้เกี่ยว
Date :
2013-05-13 10:13:41
By :
teez1232002
ชื่อสาขาก็ไม่แสดงอ้ะค้ะ
ยังไม่ได้ มันแสดงข้อมูลออกมาทุก record เลย
$strSQL = "SELECT a.*,b.* FROM po_detail a
LEFT JOIN po_mas b ON (a.po_id = b.po_id)
WHERE b.po_id = '".$_GET["po_id"]."' ";
ประวัติการแก้ไข 2013-05-13 10:38:09
Date :
2013-05-13 10:36:16
By :
lookpla26
ตารางไหน คือตารางหลักครับ a หรือ b ที่จะให้โชว์ข้อมูล แล้ว ตารางสาขาอยู่ใน a กับ b รึป่าว
Date :
2013-05-13 10:41:12
By :
teez1232002
ตารางหลัก po_mas --เก็บ po_id,branch_no,date_order
ตารางแสดงรายละเอียด po_detail--เก็บ po_id,machine_id,chassis_id,brand,class,type,color,buy
ตาราง สาขา branch branch_no,branch_name,tel
หน้ารายงาน
ประวัติการแก้ไข 2013-05-13 10:55:54 2013-05-13 10:58:40
Date :
2013-05-13 10:55:06
By :
lookpla26
ไปเลือกเอาเองนะครับว่าจะให้ Show อะไรบ้างส่วนการ Join
Code (PHP)
SELECT a.*,b.*,d.* FROM $table b LEFT JOIN $tabel a ON (b.po_id=a.po_id)
LEFT JOIN $table d ON (b.brand_no = d.brand_no)
WHERE b.po_id = '$_GET[po_id]'
Date :
2013-05-13 10:58:47
By :
teez1232002
่join กัน 6 ตารางเลยคับ เอา โค๊ดผมดัดแปลงได้เลย
Date :
2013-05-13 11:00:47
By :
teez1232002
Code (PHP)
SELECT a.*,b.*,d.*,e.*,f.*,g.* FROM po_detail b
LEFT JOIN po_mas a ON (b.po_id=a.po_id)
LEFT JOIN branch d ON (b.branch_no = d.branch_no)
LEFT JOIN brand e ON (b.brand = e.brand_id)
LEFT JOIN type f ON (b.type = f.type_id)
LEFT JOIN color g ON (b.color = g.color_id)
WHERE b.po_id = '1'
เอาไปรันใน phpmyadmin ดูว่า มันมาเฉพาะ 1 รึป่าว
Date :
2013-05-13 11:38:40
By :
teez1232002
MySQL คืนผลลัพธ์ว่างเปล่ากลับมา (null / 0 แถว).
Date :
2013-05-13 11:46:39
By :
lookpla26
b.po_id มี ค่า 1 รึป่าวครับ
Date :
2013-05-13 12:05:44
By :
teez1232002
แล้วอีกอย่าง ตาราง type เป้นคำเฉพาะครับ ต้องมี
LEFT JOIN `type`
Date :
2013-05-13 12:08:10
By :
teez1232002
ถ้าใช้ Navicat ค่อยๆ join ไปทีละตาราง แล้วกด Preview ดูเรื่อยๆจะได้รู้ว่าผิดตรงไหน
Date :
2013-05-13 12:33:22
By :
Krungsri
ตอนรันมันออกอ้ะค้ะ....แต่ว่าพอเขียนโค้ดมันไม่ออก
$strSQL = "SELECT *FROM po_detail b,po_mas m
INNER JOIN brand a ON a.brand_id = b.brand
INNER JOIN type c ON c.type_id = b.type
INNER JOIN color d ON d.color_id = b.color
WHERE
b.po_id = m.po_id
b.po_id = '".$_GET["po_id"]."' ";
Date :
2013-05-13 13:54:22
By :
lookpla26
ยังไม่ได้เลย
...Code (PHP)
$strSQL = "SELECT M.branch_no,B.chassis_id,B.machine_id,M.date_order,B.brand,C.type_name,D.color_name,B.buy,A.brand_name,E.branch_name
FROM po_detail B, po_mas M,brand A,type C,color D,branch E
WHERE
b.po_id = m.po_id AND
a.brand_id = b.brand AND
c.type_id = b.type AND
d.color_id = b.color AND
M.branch_no = E.branch_no AND
b.po_id = '".$_GET["po_id"]."' ";
Date :
2013-05-13 15:25:23
By :
lookpla26
SELECT a.*,b.*,d.*,e.*,f.*,g.* FROM po_detail b
LEFT JOIN po_mas a ON (b.po_id=a.po_id)
LEFT JOIN branch d ON (b.branch_no = d.branch_no)
LEFT JOIN brand e ON (b.brand = e.brand_id)
LEFT JOIN type f ON (b.type = f.type_id)
LEFT JOIN color g ON (b.color = g.color_id)
WHERE b.po_id = '????'
เปลี่ยน b.po_id ที่มีค่าดูว่าออกรึป่าว 1-2-3-4-5-6-7-8-9-0-10-11-112
Date :
2013-05-13 16:08:22
By :
teez1232002
ตอนนี้คิวรี่ตารางได้เเล้ส แต่หัวตารางที่เป็น สาขา(branch) เบอร์โทร ที่อยู่ มันยังไม่มาอ้ะค้ะ
<?php
require('fpdf.php');
define('FPDF_FONTPATH','font/');
class PDF extends FPDF
{
//Load data
function LoadData($file)
{
//Read file lines
$lines=file($file);
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}
function Header()
{
$this->Image('image/logo.jpg',10,6,30);
$this->AddFont('cordiab','','cordiab.php');
$this->SetFont('cordiab','',18);
$this->Cell(0,10,iconv('UTF-8','TIS-620','บจก. ตั้งใจกลการพัฒนา (ศูนย์ซ่อมบำรุง)'),0,1,'C');
$this->Cell(0,10,iconv('UTF-8','TIS-620','เลขที่ 62/49 ถ.วังตอ ต.ทับเที่ยง อ.เมือง จ.ตรัง 92000'),0,1,'C');
$this->Cell(0,10,iconv('UTF-8','TIS-620','โทรศัพท์ : 081-111-2233'),0,1,'C');
$this->Cell(0,10,iconv('UTF-8','TIS-620','ใบสั่งซื้อรถ'),0,1,'C');
// Line break
$this->Ln(10);
}
function Footer()
{
$this->SetLineWidth(0.5);
include("time.php");
$this->AddFont('cordia','B','cordia.php');
$this->SetFont('cordia','B',12);
//นับจากขอบกระดาษด้านล่างขึ้นมา 15 มม.
$this->SetY(-15);
$this->Cell(0,0,iconv( 'UTF-8','TIS-620',''),1,0,"C");
//นับจากขอบกระดาษด้านล่างขึ้นมา 10 มม.
$this->SetY(-38);
$this->Cell(80,0,iconv( 'UTF-8','TIS-620','__________________________________'),0,1,"C");
$this->Cell(190,0,iconv( 'UTF-8','TIS-620','__________________________________'),0,1,"C");
$this->Cell(300,0,iconv( 'UTF-8','TIS-620','__________________________________'),0,1,"C");
//นับจากขอบกระดาษด้านล่างขึ้นมา 10 มม.
$this->SetY(-30);
$this->Cell(300,0,iconv( 'UTF-8','TIS-620','ผู้อนุมัติ'),0,1,"C");
$this->Cell(190,0,iconv( 'UTF-8','TIS-620','คู่ค้า'),0,1,"C");
$this->Cell(80,0,iconv( 'UTF-8','TIS-620','ฝ่ายจัดซื้อ'),0,1,"C");
$this->SetY(-15);
$this->Ln(5);
//พิมพ์วัน-เวลา ตรงมุมขวาล่าง
$this->Cell(0,0,iconv( 'UTF-8','TIS-620','By... ศูนย์ซ่อมตั้งใจกลการ'),0,0,"L");
$this->Cell(0,0,iconv( 'UTF-8','TIS-620','วันเวลาที่ี่พิมพ์ : '.date("$d-$m-$y $t")),0,1,"R");
}
//Better table
function table1($header,$data)
{
$this->SetMargins(10,60,10 );
$this->AddFont('cordia','B','cordia.php');
$this->SetFont('cordia','B',13);
//$this->Cell(30,10,iconv('UTF-8','TIS-620','บจก. ตั้งใจกลการพัฒนา (ศูนย์ซ่อมบำรุง)'),0,0,'C');
$this->SetFont('');
$this->Ln();
$this->Ln();
//Column widths
$w=array(10,35,35,20,40,20,20);
//Header
for($i=0;$i<count($header);$i++)
$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,9,iconv('UTF-8','TIS-620',$rang++.'.'),1,0,'C');
$this->Cell(35,9,iconv('UTF-8','TIS-620',$eachdata["machine_id"]),1,0,'LR');
$this->Cell(35,9,iconv('UTF-8','TIS-620',$eachdata["chassis_id"]),1,0,'LR');
$this->Cell(20,9,iconv('UTF-8','TIS-620',$eachdata["brand_name"]),1,0,'LR');
$this->Cell(40,9,iconv('UTF-8','TIS-620',$eachdata["type_name"]),1,0,'LR');
$this->Cell(20,9,iconv('UTF-8','TIS-620',$eachdata["color_name"]),1,0,'LR');
$this->Cell(20,9,iconv('UTF-8','TIS-620',number_format($eachdata["buy"])),1,0,'LR');
$this->Ln();
}
}
}//end class
//เรียกใช้งาน เราจะเรียกใช้คลาสใหม่ของเราแทน
$pdf=new PDF();
$pdf->AliasNbPages();//จำนวนหน้าทั้งหมด
//Column titles
$header=array ('ลำดับ','เลขเครื่อง','เลขถัง','ยี่ห้อ','รุ่น','สี','ราคาซื้อ (บาท)');
//Data loading
//*** Load MySQL Data ***//
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
$strSQL = "SELECT M.branch_no,B.chassis_id,B.machine_id,M.date_order,B.brand,C.type_name,D.color_name,B.buy,A.brand_name,E.branch_name
FROM po_detail B, po_mas M,brand A,type C,color D,branch E
WHERE
b.po_id = m.po_id AND
a.brand_id = b.brand AND
c.type_id = b.type AND
d.color_id = b.color AND
M.branch_no = E.branch_no AND
b.po_id = '".$_GET["po_id"]."' ";
//echo mysql_error();
$objQuery = mysql_query($strSQL);
$branch = $objResult["branch_no"];
$date_order = $objResult["date_order"];
$resultData = array();
for ($i=0;$i<mysql_num_rows($objQuery);$i++) {
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result);
}
//*** Table 1 ***//
$pdf->AddPage();
$pdf->AddFont('cordia','','cordia.php');
$pdf->AddFont('cordia','','cordia.php');
$pdf->SetFont('cordia','',15);
$pdf->Ln(25);//ระยะจากบนขอบกระดาษ
$pdf->Cell( 280 , -10 , iconv( 'UTF-8','cp874' , 'กำหนดส่งรถ :' ) , 0 , 1,'C' );
$pdf->Cell( 280 , -10 , iconv( 'UTF-8','cp874' , 'วันที่สั่งซื้อ :' ) , 0 , 1 ,'C' );
$pdf->Cell( 290 , -10 , iconv( 'UTF-8','cp874' , 'เลขที่ :' ) , 0 , 1,'C' );
$pdf->Ln(30);
$pdf->Cell( 0 , -10, iconv( 'UTF-8','cp874' , $date_order ) , 0 , 1,'R' );
$pdf->Cell( 0 , -10 , iconv( 'UTF-8','cp874' , $date_order ) , 0 , 1,'R' );
$pdf->Cell( 0 , -10 , iconv( 'UTF-8','cp874' , $po_id ) , 0 , 1,'R' );
$pdf->Ln(30);
$pdf->Cell( 70 , -10 , iconv( 'UTF-8','cp874' , 'เบอร์โทร :' ) , 0, 1 , 'L' );
$pdf->Cell( 70 , -10 , iconv( 'UTF-8','cp874' , 'รับรถจากสาขา :') , 0, 1 , 'L' );
$pdf->Cell( 70 , -10 , iconv( 'UTF-8','cp874' , 'ที่อยู่ :' ) , 0, 1 , 'L' );
$pdf->Ln(30);
$pdf->Cell( 100 , -10, iconv( 'UTF-8','cp874' , $eachdata["branch_name"] ) , 0 , 1,'C' );
$pdf->Cell( 100 , -10, iconv( 'UTF-8','cp874' , $branch ) , 0 , 1,'C' );
$pdf->Cell( 100 , -10, iconv( 'UTF-8','cp874' , $branch_name ) , 0 , 1,'C' );
$pdf->Ln(10);//ระยะจากบนขอบกระดาษ
$pdf->AddFont('cordia','','cordia.php');
$pdf->SetFont('cordia','',13);
$pdf->Cell(10,13);
$pdf->table1($header,$resultData);
$pdf->Output("report_po.pdf","F");
?>
Date :
2013-05-13 16:19:42
By :
lookpla26
Load balance : Server 00