โดยจะมีหน้า แสดงเมนูไปยังฟอร์มบันทึก,แสดงข้อมูล แก้ไข,ลบ,
->เมื่อคลิก ปุ่ม จะให้แสดงฟอร์ม บันทึกข้อมูล
1) ดึงความสามารถของ phpBB มาใช้งาน
- ป้องกันการเข้าถึงไฟล์
- ประกาศ Class
- สร้าง function
- ดึงไฟล์ template เข้ามาใช้งาน แสดงฟอร์ม รับข้อมูล , แสดง ข้อมูลจากฐานข้อมูล, เมนู เพิ่ม,แก้ไข, ลบ
- ดึงไฟล์ภาษาเข้ามาใช้งาน
2) สร้างฟอร์มในการรับข้อมูลTemplate
- ฟอร์ม บันทึกข้อมูล -> ส่งค่า action = {u_action} จะครอบด้วย
<!-- IF SHOWFORM --> ฟอร์ม บันทึกข้อมูล <!-- ENDIF -->
- ฟอร์ม ปุ่ม เพื่อสร้างปุ่มไปยัง -> ฟอร์มบันทึกข้อมูล -> action = {u_action}
<form action="{U_ACTION}" method="post">
<input name="submode" value="{SUBACCTION}" type="hidden" />
<input name="submit" type="submit" value="add New Record" />
</form>
- แสดงข้อมูลจากฐานข้อมูล
จะครอบด้วย
<!-- IF SHOWLIST --> ฟอร์มปุ่ม , list ข้อมูลที่แสดงจากฐานข้อมูล <!-- ENDIF -->
(โดยเมื่อมีการเข้าหน้าเพจมาจะแสดงเฉพาะ List ข้อมูลจากฐานข้อมูล, ฟอร์มค้นหา, ปุ่ม ไม่แสดงฟอร์มบันทึกข้อมูล โดยการใช้ IF-ENDIF)
3) การสร้าง Insert,update,delete (acp_mod_ranks.php)
- ประกาศรับค่าจากฟอร์ม ในครั้งแรก กำหนดการแสดงผลใน Template
โค้ด: เลือกทั้งหมด
$template->assign_vars(array(
'U_ACTION' => $this->u_action,
'SHOWFORM' => false,
'SHOWLIST' => true,
));
'U_ACTION' = การรับ action ที่ส่งมาจากฟอร์ม
'SHOWFORM' = ในการเข้า หน้าเพจ ไม่ให้แสดง ฟอร์ม บันทึกข้อมูล
'SHOWLIST' = ในการเข้า หน้าเพจให้แสดง list ข้อมูลจากฐานข้อมูล
- เขียน คำสั่งตรวจสอบการจะให้มีการทำงานอะไร เมื่อได้รับค่ามา ด้วย
โค้ด: เลือกทั้งหมด
switch ($action)
{
case :
break;
}
default:
break;
}
$action = request_var('submode', ''); เขียนไว้นอก switch
'submode' = ชื่อปุ่มที่ส่งค่า hidden เข้ามา
- ก่อนการคลิกปุ่มมายังหน้าฟอร์ม เราจะต้องมีการประกาศตัวแปร
โค้ด: เลือกทั้งหมด
default:
$template->assign_vars(array(
'U_ACTION' => $this->u_action,
'SUBACCTION' =>'add',
));
break;
'U_ACTION' = การรับ action ที่ส่งมาจากฟอร์ม (ที่สร้างปุ่ม NEW)
'SUBACCTION' = สร้างตัวแปร เพื่อส่งให้ hidden เปลี่ยน เป็น add ตัวแปรที่จะบอกให้ ปุ่ม รู้ว่า เมื่อมีการคลิก จะเข้า เงื่อนไข add (case ต่อไป เป็นค่า default )
- เมื่อคลิกปุ่ม add New Record เข้ามา --> มายังหน้าฟอร์ม (hidden ที่ส่งมา จะเป็น add)
โค้ด: เลือกทั้งหมด
<input name="submode" value="{SUBACCTION}" type="hidden" />
<input name="submit" type="submit" value="add New Record" />
โค้ด: เลือกทั้งหมด
case 'add':
$template->assign_vars(array(
'U_ACTION' => $this->u_action,
'SUBACCTION' =>'insert',
'SHOWFORM' => true,
'SHOWLIST' => false,
));
break;
case 'add' = เมื่อมีการคลิกที่ปุ่มเมนูจาก add New Record
'U_ACTION' = รับค่า action = {u_action} จากฟอร์มที่สร้างปุ่ม !!
'SUBACCTION' = สร้างตัวแปร เพื่อส่งให้ hidden เปลี่ยน เป็น insert
ตัวแปรที่จะบอกให้ ปุ่ม รู้ว่า เมื่อมีการคลิก จะเข้า เงื่อนไข insert (case ต่อไป)
'SHOWFORM' = ในการเข้า หน้าเพจให้แสดง ฟอร์ม บันทึกข้อมูล
'SHOWLIST' = ในการเข้า หน้าเพจไม่แสดง list ข้อมูลจากฐานข้อมูล
- เมื่อมีการประกาศตัวแปร เราก็ต้องสร้าง hidden เพื่อรับค่าตัวแปร ที่ฟอร์มบันทึกข้อมูล
<input type="hidden" name="submode" value="{SUBACCTION}" />
เมื่อกรอกข้อมูลในฟอร์ม คลิกที่ปุ่ม submit จะเข้าสู่ case : insert ให้มีการทำงาน insert ข้อมูล
โค้ด: เลือกทั้งหมด
case 'insert':
// คำสั่งในการ insert ข้อมูล
break;
ให้ดึงข้อมูลจากฐานข้อมูลมาแสดงในรูปแบบ phpBB (จะเขียนใน default)
โค้ด: เลือกทั้งหมด
default:
//ดึงข้อมูลมาแสดง
'EDIT' => $this->u_action . '&submode=edit&id=' . $row['rank_id'],
'DEL' => $this->u_action . '&submode=delete&id=' . $row['rank_id']
break;
'DEL' = ส่งค่า delete = rand_id
- เมื่อมีการส่งค่า edit จาก link เราก็จะทำการรับค่า
โค้ด: เลือกทั้งหมด
case 'edit' :
// คำสั่งในการแสดงผล ในฟอร์ม
$template->assign_vars(array(
'SUBACCTION' => 'update',
'SHOWFORM' => true,
'SHOWLIST' => false,
));
break;
การคลิก จะเข้า เงื่อนไข 'update' (case ต่อไป)
'SHOWFORM' = ในการเข้า หน้าเพจให้แสดง ฟอร์ม บันทึกข้อมูล
'SHOWLIST' = ในการเข้า หน้าเพจไม่แสดง list ข้อมูลจากฐานข้อมูล
- การ update เมื่อแก้ไข ข้อมูล ทำการคลิกปุ่ม ก็จะมา เข้า เงื่อนไข case : update
โค้ด: เลือกทั้งหมด
case update:
// คำสั่งในการ update
break;
- เมื่อมีการส่งค่า del จาก link เราก็จะทำการรับค่า
โค้ด: เลือกทั้งหมด
case delete :
// คำสั่งในการ delete
break;