รวมตาราง php + sql โชว์ค่าของคอลัมน์ที่มี และคอลัมน์ที่ไม่มีไม่ต้องโชว์ค่า
Code
part no part name date in date out qty in qty out
0001 A 7/10/2013 7/10/2013 20
0001 B 7/11/2013 7/10/2013 30
0001 C 7/12/2013 7/10/2013 10
0001 D 7/13/2013 7/13/2013 15
ข้อมูลมี 3 ตาราง คือ
ตาราง product มี part name
ตาราง stock in มี date in , qty in
ตาราง stock out มี date out , qty out
จะใช้ php + mysql ยังไงเพื่อให้ได้เป็นเหมือนกับข้อมูลด้านบนคะ
เพราะตอนนี้ได้ แบบนี้ค่ะ
part no part name date in date out qty in qty out
0001 A 7/10/2013 7/10/2013 20 30
0001 B 7/11/2013 7/10/2013 20 30
0001 C 7/12/2013 7/10/2013 20 10
0001 D 7/13/2013 7/13/2013 15 10
code เป็นแบบนี้ค่ะ
Code (PHP)
<?
$objConnect = mysql_connect("localhost","root","12345") or die("Error Connect to Database");
$objDB = mysql_select_db("db_5");
$strSQL = "SELECT
product.part_no
,product.part_name
,stock_in.date_in
,stock_in.qty_in
,stock_out.date_out
,stock_out.qty_out
FROM product
inner join stock_in on product.part_no = stock_in.part_no
inner join stock_out on product.part_no = stock_out.part_no
WHERE (product.part_no LIKE '0001'
)
";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table border="1" id ="newspaper-b" cellpadding="0" cellspacing="0" >
<tr><td colspan = "6" rowspan = "1">
</td></tr>
<tr>
<th width="150"> <div align="left">Part NO </div></th>
<th width="150"> <div align="left">Part Name </div></th>
<th width="150"> <div align="left">Date IN</div></th>
<th width="150"> <div align="left">Q'ty IN</div></th>
<th width="150"> <div align="left">Date OUT</div></th>
<th width="150"> <div align="left">Q'ty OUT</div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="left"><?=$objResult["part_no"];?></div></td>
<td><div align="left"><?=$objResult["part_name"];?></div></td>
<td><div align="left"><?=$objResult["date_in"];?></div></td>
<td><div align="left"><?=$objResult["qty_in"];?></div></td>
<td><div align="left"><?=$objResult["date_out"];?></div></td>
<td><div align="left"><?=$objResult["qty_out"];?></div></td>
</tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>
Tag : PHP, MySQL
Date :
2013-07-25 17:25:32
By :
jan
View :
3349
Reply :
5
ลองดูพวก RIGHT JOIN ด้วยครับ
Date :
2013-07-26 06:26:53
By :
mr.win
where qty > 0ไม่ได้เหรอ งง คำถาม จริงๆinner join ถ้าตัวไดตัวหนึ่งไม่มีมันก็จะไม่เอามาแสดงไม่ใช่เหรอครับ
ประวัติการแก้ไข 2013-07-26 08:09:33
Date :
2013-07-26 07:59:21
By :
gaowteen
ขอดูหน้าตา ข้อมูลที่เก็บไว้หน่อยสิครับ คงจะเป็นที่โครงสร้างที่ทำให้เข้าเงื่อนไขทุกรายการ เลยไปดึงค่าของเรคอร์ดอื่นมาแสดงในแถวตัวเอง
หรือที่จริงแล้ว ข้อมูลมันมีอยู่ตามนั้นอยู่แล้ว
ปกติการทำงานผิดพลาดจะเกิดขึ้น 2 ส่วนครับ
ส่วนที่ 1 คือซอร์สโค๊ด ถ้ามั่นใจว่าซอร์สโค๊ดไม่ผิด
มาดูส่วนที่ 2 คือฐานข้อมูล เพราะฐานข้อมูลอาจจะผิด
ถ้าฐานข้อมูลมั่นใจว่าต้องเป็นแบบนั้นและข้อมูลถูกต้องแล้ว ก็ย้อนกลับไปดูที่ส่วนที่ 1 ใหม่ว่าส่วนไหนที่ไม่สัมพันธ์กัน
ดังนั้น การจะหาข้อผิดพลาดได้ ต้องดูที่ข้อมูลในฐานข้อมูลด้วยครับ
Date :
2013-07-26 08:56:29
By :
{Cyberman}
หนูแก้ด้วยการเอาไปเก็บไว้ในตารางใหม่ค่ะ แล้วค่อยคิวรี่ออกมาอีทีนึงค่ะ
ขอบคุณพี่ๆมากนะคะ
Date :
2013-07-26 13:43:56
By :
jan
ขอบคุณครับ by เจ้าพ่อสึ่มกึ้ม
Date :
2021-02-12 13:00:51
By :
เจ้าพ่อสึ่มกึ้ม
Load balance : Server 02