ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

พูดคุย phpBB3, SMF ปัญหา การติดตั้ง ปัญหา การลง Mod การแก้ไข หน้าตาบอร์ด การใช้งาน Joomla 1.5, 1.6, 1.7, 2.5 ,3.x รวมถึง Joomla 4 การใช้งาน wordpress และ CMS อื่นๆ
การตั้งคำถาม ควรระบุรุ่นที่ใช้ ในการตั้งคำตามด้วย นะ เช่น SMF 1.1.4 หรือ SMF2.0, OpenERP, Odoo และ รายละเอียดของ server OS, php เวอร์ชั่นไหน ฐานข้อมูลอะไร

Moderator: mindphp

กฎการใช้บอร์ด
คำถามหมวดนี้ ควรระบุ รายละเอียดของ Server OS, เวอร์ชั่น ของ PHP, CMS ที่ท่านใช้
รวมถึง Hosting หรือ Control Panel Hosting
ภาพประจำตัวสมาชิก
pnut
PHP Super Member
PHP Super Member
โพสต์: 488
ลงทะเบียนเมื่อ: 08/08/2016 10:48 am

ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย pnut »

ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

ผมจะบันทึกข้อมูลตามแบบฟอร์มนี้
Capture.JPG
Capture.JPG (23.59 KiB) Viewed 736 times
โดยปกติเมื่อทำการกด Submit ระบบก็จะบันทึกลงตารางข้อมูลที่ชื่อ ตารางสาเหตุของโรค
โดยตารางข้อมูลดังนี้
223.JPG
223.JPG (14.74 KiB) Viewed 736 times
โดยผมอยากให้สามารถบันทึกข้อมูลอีกตารางหนึ่งด้วยที่มือว่า TTT ด้วยโดยนำค่าของ ID สาเหตุและ ID ของโรคของมาบันทึกลงตามตารางข้อมูลดังต่อไปนี้
Capture.JPG
Capture.JPG (9.86 KiB) Viewed 736 times
โค้ด INSERT

โค้ด: เลือกทั้งหมด

 $sql = ' INSERT ' . $table_prefix . 'm_topic_portal' . $db->sql_build_array('INSERT', $sql_ary);
                            $db->sql_query($sql);
                            meta_refresh(2, $this->u_action);
                            trigger_error($user->lang['SHOW_INSERT'] . adm_back_link($this->u_action));
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ถ้าเราบันทึกตารางแรกได้ แล้ว ต้องการเอา ID ที่บึนทึกได้ไปใส่อีกตาราง ได้โดยใช้
$db->sql_nextid();

ตัวอย่าง

โค้ด: เลือกทั้งหมด

  $sql = 'INSERT INTO ' . USERS_TABLE . ' ' . $db->sql_build_array('INSERT', $user_ary);
$db->sql_query($sql);

$user_id = $db->sql_nextid();  
ภาพประจำตัวสมาชิก
pnut
PHP Super Member
PHP Super Member
โพสต์: 488
ลงทะเบียนเมื่อ: 08/08/2016 10:48 am

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย pnut »

USERS_TABLE คือชื่อตารางที่สองเหรอครับ
ภาพประจำตัวสมาชิก
pnut
PHP Super Member
PHP Super Member
โพสต์: 488
ลงทะเบียนเมื่อ: 08/08/2016 10:48 am

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย pnut »

' ' ต้องใส่อะไรลงไปครับ
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

อันนี้เเค่ตัวอย่าง
pnut เขียน:USERS_TABLE คือชื่อตารางที่สองเหรอครับ
ถ้าอยากได้ ID ของตารางที่ เพิ่ง insert เข้าไป ให้ใช้

โค้ด: เลือกทั้งหมด

$a = $db->sql_nextid(); 
ต่อท้ายยย ก็จะได้ เอามาใส่ในตารางที่ 2 ต่อไป..
ภาพประจำตัวสมาชิก
pnut
PHP Super Member
PHP Super Member
โพสต์: 488
ลงทะเบียนเมื่อ: 08/08/2016 10:48 am

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย pnut »

แบบนี้เหรอครับ

โค้ด: เลือกทั้งหมด

 $user_ary = array(
                              
                        'id_diagseat' => $id,
                                );

โค้ด: เลือกทั้งหมด

$sql = ' INSERT ' . $table_prefix . 'm_causative ' . $db->sql_build_array('INSERT', $sql_ary);                           
                            $db->sql_query($sql);
                            $id = $db->sql_nextid();
                            $sql = 'INSERT INTO ' . $table_prefix . 'm_map_diagseat ' . $db->sql_build_array('INSERT', $user_ary);
                            $db->sql_query($sql);
ภาพประจำตัวสมาชิก
pnut
PHP Super Member
PHP Super Member
โพสต์: 488
ลงทะเบียนเมื่อ: 08/08/2016 10:48 am

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย pnut »

หรือแบบนี้ครับ
$sql = ' INSERT INTO ' . $table_prefix . 'm_causative ' . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);
$id = $db->sql_nextid();
ต้องมีโค้ด INSERT อีกบรรทัดไหมครับ
ภาพประจำตัวสมาชิก
pnut
PHP Super Member
PHP Super Member
โพสต์: 488
ลงทะเบียนเมื่อ: 08/08/2016 10:48 am

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย pnut »

case 'insert' :
$id = $row['id'];
$user_ary = array(
'id_diagseat' => $id,
);
$sql = ' INSERT INTO ' . $table_prefix . 'm_causative ' . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);
$id = $db->sql_nextid();
$sql = ' INSERT INTO ' . $table_prefix . 'm_map_diagseat ' . $db->sql_build_array('INSERT', $user_ary);
$db->sql_query($sql);


เขียนแบบนี้ถูกไหมครับ
ภาพประจำตัวสมาชิก
pnut
PHP Super Member
PHP Super Member
โพสต์: 488
ลงทะเบียนเมื่อ: 08/08/2016 10:48 am

Re: ผมเขียน extension phpBB อยากทราบวิธีการบันทึกข้อมูลลงมากกว่า 2 ตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย pnut »

ต้องเขียนแบบนี้เหรอ
case 'insert' :
$id = $row['id'];
$user_ary = array(
'id_diagseat' => $id,
);
$sql = ' INSERT INTO ' . $table_prefix . 'm_causative ' . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);
$id = $db->sql_nextid();
$sql = ' INSERT INTO ' . $table_prefix . 'm_map_diagseat ' . $db->sql_build_array('INSERT', $user_ary);
$db->sql_query($sql);
thatsawan เขียน:อันนี้เเค่ตัวอย่าง
pnut เขียน:USERS_TABLE คือชื่อตารางที่สองเหรอครับ
ถ้าอยากได้ ID ของตารางที่ เพิ่ง insert เข้าไป ให้ใช้

โค้ด: เลือกทั้งหมด

$a = $db->sql_nextid(); 
ต่อท้ายยย ก็จะได้ เอามาใส่ในตารางที่ 2 ต่อไป..
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 105