 |
หน้าแสดงข้อมูล ข้อมูลที่เป็น aray แบบมีคอมมา ไม่โชว์ข้อมูล เกิดจากอะไรค่ะ |
|
 |
|
|
 |
 |
|
ขอดูโครงสร้างตาราง business, suppervisor ด้วยครับ
เหมือนจะเป็นที่ SQL ที่ไม่เข้าเงื่อนไข เนื่องจาก foreign key มันเป็น csv
อาจจะต้องเปลี่ยนโครงสร้างตาราง และใช้ JOIN แทน
|
 |
 |
 |
 |
Date :
2013-08-12 15:43:17 |
By :
cookiephp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นี้เป็นตาราง business กับ supervisor
Code (SQL)
CREATE TABLE `business` (
`bus_id` int(11) NOT NULL auto_increment,
`bus_name` varchar(70) collate utf8_unicode_ci NOT NULL,
`bus_year` varchar(5) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`bus_id`)
)
Code (SQL)
CREATE TABLE `suppervisor` (
`sup_id` varchar(15) collate utf8_unicode_ci NOT NULL,
`sup_title` varchar(10) collate utf8_unicode_ci NOT NULL,
`sup_name` varchar(20) collate utf8_unicode_ci NOT NULL,
`sup_sname` varchar(20) collate utf8_unicode_ci NOT NULL,
`sup_tel` varchar(15) collate utf8_unicode_ci default NULL,
`sup_pic` varchar(20) collate utf8_unicode_ci default NULL,
`sup_year` varchar(10) collate utf8_unicode_ci NOT NULL,
`sta_id` int(11) NOT NULL,
`id` varchar(10) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`sup_id`)
)
|
ประวัติการแก้ไข 2013-08-12 16:02:56
 |
 |
 |
 |
Date :
2013-08-12 16:01:55 |
By :
LaiLA |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
...
|
ประวัติการแก้ไข 2013-08-12 16:48:24
 |
 |
 |
 |
Date :
2013-08-12 16:46:28 |
By :
cookiephp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พอดูโครงสร้างตารางที่เหลือ และดูจากการแสดงผล
ไม่มีความจำเป็นที่จะต้อง SELECT สองตารางหลังเลยครับ เพราะคุณไม่ได้ใช้ข้อมูลของสองตารางหลังในการแสดงผลเลย
แต่ใช้ในการค้นหาอย่างเดียว
และจริงๆ เราไม่ควร SELECT หลายตารางแบบนั้นด้วย เพราะจะให้ผลลัพธ์ที่ไม่ถูกต้อง
SQL เหลือแค่นี้พอ ใช้ JOIN เพื่อให้สามารถเข้าถึง sup_name และ bus_name ได้
ใช้ IN เพื่อตรวจสอบเงือนไขการ JOIN เพราะคุณกำหนดให้ sup_id เป็น csv
Code (PHP)
$strSQL = "
SELECT * FROM supervision
JOIN business USING (bus_id)
JOIN supperviser ON (supperviser.sup_id IN (supervision.sup_id))
where sup_name LIKE '%".$_GET["txtKeyword"]."%' or bus_name LIKE '%".$_GET["txtKeyword"]."%' or super_date LIKE '%".$_GET["txtKeyword"]."%' ";
|
 |
 |
 |
 |
Date :
2013-08-12 16:52:45 |
By :
cookiephp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้แล้ว ยังไม่ได้เลยค่ะ เหมือนเดิม ค่ะ ไม่ error แต่ไม่โชว์ แบบนี้ ค่ะ

|
 |
 |
 |
 |
Date :
2013-08-12 21:50:01 |
By :
LaiLA |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เท่าที่ดูไม่น่าจะผิดอะไรนะครับ
ลองใช้ SQL แค่นี้ก่อนครับ ตัดส่วน WHERE ออก ดูวามันออกมั้ย
$strSQL = "
SELECT * FROM supervision
JOIN business USING (bus_id)
JOIN supperviser ON (supperviser.sup_id IN (supervision.sup_id))
";
|
 |
 |
 |
 |
Date :
2013-08-12 23:24:06 |
By :
cookiephp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|