แก้ไข dataTable แบบ server side processing เพื่อเชื่อมต่ออีกตารางในการแสดงข้อมูล
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา แก้ไข dataTable แบบ server side processing เพื่อเชื่อมต่ออีกตารางในการแสดงข้อมูล
แก้ไข dataTable แบบ server side processing เพื่อเชื่อมต่ออีกตารางในการแสดงข้อมูล
Copy
จาก ตย. dataTable http://www.tutorialdev.com/php/datatable-ตอน-แก้ไข-ลบข้อมูล-ด้วย-da/
download มาลองแก้ไข
ตรงโค้ดด้านล่าง
เป็นการเชื่อมอีกตารางนึงเพื่อมาโชว์
output

ข้อมูลในตาราง

download มาลองแก้ไข
ตรงโค้ดด้านล่าง
while ( $aRow = mysql_fetch_array( $rResult ) )
{
$row = array();
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
if ( $aColumns[$i] == "id" ) // ถ้าเจอ collumns ที่มีชื่อว่า id ก็ ให้ แทนที่ ค่าที่จะส่งกลับไปให้ id ด้วย link ข้างล่าง
{
$id = $aRow['id'];
/* เมื่อมาถึงส่วนนี้ก็สามารถ ดึง เอา id ที่เป็น primary key ไปใช้ด้วยแล้ว ส่งไปค่าไปอีกหน้า หรือเขียน javascript function มารับค่าไปทำอะไรต่อ ก็ตามสบายเลยครับ
*/
$row[] = "<a href='javascript:alert(".$id.")' >แก้ไข</a><a href='http://www.turotialdev.com?id=".$id."' >ลบ</a>" ;
}
else if ( $aColumns[$i] != ' ' )
{
/* General output */
$row[] = $aRow[ $aColumns[$i] ];
}
}
$output['aaData'][] = $row;
}
echo json_encode( $output );
หนูลองเปลี่ยนจากลิ้งค์ $row[] = "<a href='javascript:alert(".$id.")' >แก้ไข</a><a href='http://www.turotialdev.com?id=".$id."' >ลบ</a>" ;เป็นการเชื่อมอีกตารางนึงเพื่อมาโชว์
while ( $aRow = mysql_fetch_array( $rResult ) )
{
$row = array();
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
///////////////////////////////////
if ( $aColumns[$i] == "id" ) // ถ้าเจอ collumns ที่มีชื่อว่า id ก็ ให้ แทนที่ ค่าที่จะส่งกลับไปให้ id ด้วย link ข้างล่าง
{
$id = $aRow['id'];
/* เมื่อมาถึงส่วนนี้ก็สามารถ ดึง เอา id ที่เป็น primary key ไปใช้ด้วยแล้ว ส่งไปค่าไปอีกหน้า หรือเขียน javascript function มารับค่าไปทำอะไรต่อ ก็ตามสบายเลยครับ
*/
$sqlFile="select * from po_detail where id_po=$id";
$qFile= mysql_query($sqlFile);
while ($rowFile = mysql_fetch_array($qFile)) {
$row[] = $rowFile['file'] ;}
}
else if ( $aColumns[$i] != ' ' )
{
/* General output */
$row[] = $aRow[ $aColumns[$i] ];
}
}
$output['aaData'][] = $row;
}
ซึ่งมันมีทั้งหมด 3 ไฟล์ค่ะ แต่มันโชว์ออกมาแค่ไฟล์เดียว ต้องทำยังไงคะoutput

ข้อมูลในตาราง

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ