Doc21. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 130
ั
บทที่ 6
Dreamweaver กับการติดต่อฐานข้อมูล
เราได้ผานขันตอนการกาหนดเว็บไซต์สาหรับ PHP มาแล้ว แต่หากเราต้องการ
่ ้
พัฒนา PHP แอพพลิเคชันทีมการเรียกใช้ฐานข้อมูล ก็ตองสร้างการติดต่อกับฐานข้อมูลซะ
่ ่ ี
้
ก่อน เนื้อหาในบทนี้จะกล่าวถึงการกาหนดให้ Dreamweaver ติดต่อกับฐานข้อมูล
หลังจากนันเราจะเริมการพัฒนา PHP เว็บเพจทีสามารถเรียกใช้ขอมูลจากระบบฐานข้อมูล
้
่
่
้
มาแสดงผลบนเว็บเพจ
สร้างฐานข้อมูล
หากเราต้องการพัฒนา PHP แอพพลิเคชันทีมการเรียกใช้ฐานข้อมูล ก็ตองมีการ
่ ่ ี
้
สร้างฐานข้อมูลซะก่อน ขันตอนนี้จะเป็ นการสร้างฐานข้อมูลตัวอย่างจากไฟล์ตนแบบ
้
้
ขันตอนการสร้างฐานข้อมูล:
้
1. เปิด Internet Explorer ไปที่ URL http://localhost หลังจากนันคลิกเข้าใช้งาน
้
โปรแกรม phpMyAdmin ดังรูป
รูปแสดงการเปิด Internet Explorer ไปที่ URL http://localhost
2. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 131
ั
2. ใส่ช่อผูใช้ (User name) และรหัสผ่าน (password) ซึงมาจากขันตอนการติดตัง
ื ้
่
้
้
AppServe
User name : root
Password : root
3. สร้างฐานข้อมูลใหม่ช่อ "human" โดยระบุช่อในช่อง สร้างฐานข้อมูลใหม่ ดังรูป
ื
ื
ตังชื่อฐานข้ อมูล
้
รูปแสดงการสร้างฐานข้อมูลใหม่
3. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 132
ั
ใช้ MySQL ในการสร้างฐานข้อมูล
CREATE DATABASE human;
3. สร้างตารางในฐานข้อมูลตัวอย่างโดย ตังชื่อตาราง employee ดังรูป
้
สร้างตารางชื่อ employee
ที่
1
2
4
5
6
7
8
9
10
ให้ป้อนรายละเอียด field เพือเก็บข้อมูลดังนี้
่
ชื่อฟิลด์
ชนิด(ขนาด)
Key
emp_id
varchar(5)
Primary key
name
Varchar(20)
lastname
Varchar(20)
gender
Varchar(10)
date_born Date
Salary
Decimal(10,0)
dept_id
varchar(2)
FK : department
address
Varchar(255)
photo
Varchar(50)
ใช้ MySQL ในการสร้างฐานข้อมูล
CREATE TABLE employee (
emp_id varchar(5) PRIMARY KEY NOT NULL,
name varchar(20),
lastname varchar(20),
gender Varchar(10),
date_born date,
หมายเหตุ
รหัสพนักงาน
ชื่อพนักงาน
นามสกุล
เพศ
วันเดือนปีเกิด
เงินเดือน
รหัสแผนก
ทีอยู่
่
ไฟล์รปภาพ
ู
4. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 133
ั
salary decimal(10,0) ,
dept_id varchar(2) ,
foreign key(dept_id) references department(dept_id),
address varchar(255) ,
photo varchar(50) ,
);
สร้างตารางชื่อ department
ประกอบด้วย
ที่
ชื่อฟิลด์ ชนิด(ขนาด)
Key
1 dept_id
varchar(2) Primary key
2 deptname Varchar(50)
หมายเหตุ
รหัสแผนก
ชื่อแผนก
ใช้ MySQL ในการสร้างตาราง
CREATE TABLE department` (
dept_id varchar(2) PRIMARY KEY not null ,
deptname varchar(50),
);
การติ ดต่อกับฐานข้อมูล (Database Connection)
เราได้ผานขันตอนการกาหนดเว็บไซต์สาหรับ PHP และสร้างฐานข้อมูลมาแล้ว แต่
่ ้
หากเราต้องการพัฒนา PHP แอพพลิเคชันทีมการเรียกใช้ฐานข้อมูล ก็ตองสร้างการติดต่อ
่ ่ ี
้
กับฐานข้อมูลซะก่อน ขันตอนนี้จะเป็ นการกาหนดให้ Dreamweaver ติดต่อกับฐานข้อมูล
้
เพือทีเราจะได้พฒนา PHP เว็บเพจทีสามารถเรียกใช้ขอมูลจากระบบฐานข้อมูลได้นนเอง
่ ่
ั
่
้
ั่
5. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 134
ั
การติดต่อฐานข้อมูล ในเอกสารนี้นาเสนอ 2 วิธคอ
ี ื
1. การเขียนคาสัง่
2. การไม่เขียนคาสัง่ โดยใช้ความสามารถของ dreamweaver
การติ ดต่อฐานข้อมูล โดยใช้คาสัง
่
1
2
3
4
5
6
7
8
<?php
$hostname_dbconn = "localhost"; //database server
$database_dbconn = "personal"; //ชื่อฐานข้อมูล
$username_dbconn = "root";
//ชื่อผูใช้
้
$password_dbconn = "root";
//รหัสผ่าน
$dbconn = mysql_pconnect($hostname_dbconn,
$username_dbconn, $password_dbconn) or
trigger_error(mysql_error(),E_USER_ERROR); //การเชื่อมต่อ
mysql_query ("SET NAME TIS620"); //ภาษาไทยในฐานข้อมูล
?>
การติ ดต่อกับฐานข้อมูล (Database Connection) การไม่เขียนคาสั ่ง โดยใช้
ความสามารถของ dreamweaver
เราได้ผานขันตอนการกาหนดเว็บไซต์สาหรับ PHP และสร้างฐานข้อมูลมาแล้ว แต่
่ ้
หากเราต้องการพัฒนา PHP แอพพลิเคชันทีมการเรียกใช้ฐานข้อมูล ก็ตองสร้างการติดต่อ
่ ่ ี
้
กับฐานข้อมูลซะก่อน ขันตอนนี้จะเป็ นการกาหนดให้ Dreamweaver ติดต่อกับฐานข้อมูล
้
เพือทีเราจะได้พฒนา PHP เว็บเพจทีสามารถเรียกใช้ขอมูลจากระบบฐานข้อมูลได้นนเอง
่ ่
ั
่
้
ั่
ขันตอนการติ ดต่อกับฐานข้อมูล (Database Connection):
้
1. เริมต้นการติดต่อกับฐานข้อมูล "human" ใน Dreamweaver โดยการคลิกที่
่
เมนู Window -> Databases คลิกทีเครื่องหมายบวก
่
เลือก MySQL Connection
ดังรูปด้านล่าง
6. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 135
ั
รูปแสดงเมนู MySQL Connection สาหรับสร้างการติดต่อกับฐานข้อมูล
2. กรอกข้อมูลสร้างการติดต่อฐานข้อมูล (Database Connection) ดังรายละเอียด
ต่อไปนี้
Connection Name: dbconn
MySQL Server: localhost
Username: root (หรือตามทีกาหนด)
่
Password: ช่องว่าง (หรือตามทีกาหนด)
่
Database: human
รูปแสดงไดอะล็อก MySQL Connection สาหรับสร้างการติดต่อกับฐานข้อมูล
7. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 136
ั
่
จากนันกดปุม OK และกลับมาทีหน้า MySQL Connection
้
่
่
3. คลิกปุม
เพื่อทดสอบการติดต่อฐานข้อมูล หากการติดต่อฐานข้อมูล
่
สาเร็จ จะปรากฏข้อความ Connection was made successfully แสดงขึนมา ให้คลิกปุม
้
OK ออกไป
4. ที่ Databases Panel จะปรากฏรายการติดต่อฐานข้อมูลชื่อ dbconn แสดงให้
เห็น ดังรูป ก็แสดงว่าสามารถติดต่อฐานข้อมูลสาเร็จแล้ว
9. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 138
ั
บทที่ 7
การกาหนดไซต์ใน Dreamweaver
การกาหนดไซต์ (Site Definition) คือ การกาหนดค่าเริมต้นในโปรแกรม
่
Dreamweaver สาหรับการพัฒนาแต่ละเว็บแอพพลิเคชัน กล่าวคือ หากต้องการใช้งาน
่
Dreamweaver ในการพัฒนาเว็บแอพพลิเคชัน 1 ระบบงานก็ตองกาหนดไซต์ เพิมขึนมา
่
้
่ ้
อีก 1 เว็บไซต์ หรืออีก 1 โปรเจ็คต์นนเอง
ั่
ในขันตอนนี้จะอธิบายถึงวิธการนาเอาไฟล์ตวอย่าง มาติดตังในไดเร็คทอรี่ของ
้
ี
ั
้
Apache เว็บเซิรฟเวอร์ ซึ่งจากขันตอนการติดตัง PHP แอพพลิเคชันเซิรฟเวอร์โดยใช้ชุด
์
้
้
่ ์
โปรแกรม AppServ เว็บไดเร็คทอรี่ของ Apache เว็บเซิร์ฟเวอร์จะถูกกาหนดไว้ท่ี
C:AppServwww
ขันตอนการกาหนดไซต์ PHP ใน Dreamweaver :
้
1. ในการกาหนดไซต์ ให้พจารณาว่าจะจัดโครงสร้างในการเข้าถึงโปรแกรมและข้อมูลอย่างไร
ิ
ในไซต์
PERSON
images
photos
รูปที่ 3 การกาหนดไดเรกทอรี่
จากรูปที่ 3 ให้เราสร้างไดเรกทอรี่ช่อ PERSON ซึ่งเป็ นไซต์หลัก ที่สร้างอยู่ใน
ื
C:AppServwww จากนันทาการสร้างไดเรกทอรียอยทีอยูในไดเรกทอรี่ PERSON เพื่อ
้
่ ่ ่ ่
เก็บโปรแกรม (program) รูปข้อมูล (photos) และรูปภาพสาหรับตกแต่งหน้าเว็บ (images)
2. เปิดโปรแกรม Dreamweaver แล้วไปทีเมนู Site -> Manage Sites…
่
3. เมื่อปรากฏไดอะล็อก Manage Sites ให้คลิกทีปุม New ดังรูป
่ ่
10. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 139
ั
รูปที่ 4 แสดงไดอะล็อก Manage Sites
4. ปรากฎไดอะล็อก ดังรูป คลิกที่ Site เพื่อกาหนดชื่อ Site และโฟลเดอร์ของงาน
ตัวอย่างนี้กาหนดชื่อไซต์ (Site Name) เป็ น PERSON และโฟลเดอร์ท่เก็บโปรแกรม
ี
C:AppServwwwPERSON ดังต่อไปนี้
ชื่อโฟลเดอร์ หลัก (ชื่อไซต์)
ที่อยูของไซต์หลัก
่
Site name: PERSON
(ชื่อเว็บแอพพลิเคชันทีเรากาหนดเอง)
่ ่
11. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 140
ั
Local root folder: C:AppServwwwperson
(การกาหนดไดเร็คทอรีทใช้บนทึกซอร์สโค้ดทีเราพัฒนาขึนบนเครื่องเราเอง (local) )
่ ่ี ั
่
้
5. คลิกทีเมนู Advanced Setting จะปรากฏดังรูป
่
ในทีน้ีเลือก Local Info เพือกาหนดโฟลเดอร์ของรูปภาพ และ URL
่
่
Default Images folder: ตาแหน่งของไฟล์รปภาพ
ู
Web URL: http://localhost/PERSON/
(URL สาหรับใช้งานเว็บแอพพลิเคชันทีเราพัฒนาบนเครื่องเราเอง (local) )
่ ่
12. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 141
ั
6. คลิกทีเมนู Server เพื่อกาหนดเซิรฟเวอร์
่
์
คลิกทีเครืองหมาย
่ ่
เพื่อเพิมเซิรฟเวอร์ จะปรากฏดังรูป
่ ์
Server Name : localhost
(การกาหนดวิธการติดต่อกับเว็บเซิรฟเวอร์ทใช้ทดสอบเว็บเพจ เลือกกาหนดเป็ นค่า None
ี
์
่ี
FTP หรือ Local/Network)
13. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 142
ั
- คลิ กที่แท็บ Advanced เพือกาหนด Server Model
่
Server Model: PHP MySQL
(การกาหนดให้ Dreamweaver รูวาเราจะใช้ภาษาคอมพิวเตอร์ใด ในการพัฒนา
้่
เว็บแอพพลิเคชันนัน เช่น PHP MySQL หรือ ASP VBSCRIPT)
่ ้
่
จากนันกดปุม Save และกลับมาทีหน้าต่าง Server
้
่
14. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 143
ั
่
จากนันกดปุม Save อีกครัง จะกลับมายังหน้า Manage Site ดังรูป ซึ่งจะมีไซต์ท่ี
้
้
เราสร้างขึนปรากฏอยู่ ให้คลิกปุ่ม Done เป็ นอันเสร็จสินในการกาหนดไซต์ และสังเกตที่
้
้
่
Site Panel จะปรากฏชื่อไซต์ PERSON จากนันคลิกปุม DONE ทีพร้อมจะใช้งาน
้
่
7. Dreamweaver ก็พร้อมสาหรับการเริมต้นใช้งาน เพื่อพัฒนาเว็บแอพพลิเคชัน
่
่
PERSON ในการเรียกใช้งานครังต่อไป Dreamweaver จะเปิ ดมาทีเว็บไซต์ทมการเปิ ดใช้
้
่
่ี ี
งานล่าสุดเสมอ
15. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 144
ั
บทที่ 8
การสร้างระบบแสดงผลข้อมูล
ในเนื้อหาที่ผ่านมา เราได้ผ่านขันตอนการกาหนดไซต์สาหรับการพัฒนาเว็บ
้
แอพพลิเคชัน PHP_MySQL และการกาหนดการติดต่อกับฐานข้อมูลมาแล้ว เนื้อหาในบท
่
นี้จะกล่าวถึงการสร้างเว็บเพจที่สามารถเรียกใช้ขอมูลจากตารางในฐานข้อมูลมาแสดงผล
้
บนเว็บเพจ
ระบบแสดงผลข้อมูล คือเว็บเพจทีทาหน้าทีในการเรียกข้อมูลจากตาราง (Table)
่
่
ในฐานข้อมูล นามาแสดงผลบนหน้าเว็บเพจ
รูปแสดงไฟล์ทเี่ กียวข้องกับระบบแสดงผลข้อมูล
่
ระบบแสดงผลข้อมูลในส่วนที่จะอธิ บายนี้ จะประกอบด้วยไฟล์ 2 ไฟล์
list.php ทาหน้าทีแสดงข้อมูลพนักงานหน้าละหลายเรคอร์ด มีลงค์สาหรับคลิกส่ง
่
ิ
URL Parameter ไปยังไฟล์ detail.php เพือดูรายละเอียดพนักงานแต่ละคน
่
detail.php ทาหน้าแสดงรายละเอียดของพนักงานแต่ละคน โดยรับค่า URL
Parameter จากไฟล์ list.php
การสร้างระบบแสดงข้อมูลทียกมาอธิบายในทีน้ี แบ่งเป็ นขันตอนได้ดงต่อไปนี้
่
่
้
ั
1. การสร้างตารางสาหรับแสดงผลข้อมูล
2. การแทรก Recordset (Query) เพือเรียกใช้ตารางและฟิลด์ในฐานข้อมูล
่
3. นาฟิลด์แต่ละฟิลด์มาวางลงในตาราง
4. การแสดงผลมากกว่า 1 เรคอร์ด โดยใช้ Repeat Region
5. การแบ่งหน้าแสดงผล
16. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 145
ั
6. การค้นหาข้อมูลทีตองการแสดงรายละเอียดทีละ 1 เรคอร์ด
่ ้
7. การใช้งานระบบแสดงผลข้อมูล
(1) การสร้างตารางสาหรับแสดงผลข้อมูล
ขันตอนนี้ จะเป็ นการสร้างตารางสาหรับแสดงผลข้อมูล โดยจะเป็ นการแสดงข้อมูล
้
ทีละหลายๆ เรคอร์ดลงในเว็บเพจ พร้อมทังมีการปรับแต่งรูปแบบโดยใช้เครื่องมือของ
้
Dreamweaver
ขันตอน:
้
1. เริมต้นทีโปรแกรม Dreamweaver คลิกเมนู File > New จะปรากฏไดอะล็อก
่
่
่
New Document ขึนมา ให้คลิก PHP หลังจากนันคลิกปุม Create บันทึกเป็ นไฟล์ list.php
้
้
2. เลือกเมนู Modify > Page Properties… เมื่อปรากฏไดอะล็อก Page
Properties ขึนมา ให้กาหนด Properties ของเว็บเพจ ดังรายละเอียดด้านล่างนี้ หลังจาก
้
่
นันคลิกปุม OK
้
ค่าของไดอะล็อก
ค่าที่กาหนด
Title List
Employees
Background Image
images/bkg_list.gif
Encoding
Thai (Windows)
ตารางแสดงการกาหนดค่าในไดอะล็อก Page Properties
3. ปรับแต่งตารางโดยการแทรกไฟล์รปภาพ และข้อความลงในตารางและส่วน
ู
ต่างๆ ของเว็บเพจ เมื่อเสร็จแล้วจะได้เว็บเพจ ดังรูปด้านล่าง
รูปแสดงหน้าเว็บเพจ list.php
17. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 146
ั
(2) การแทรก Recordset (Query) เพื่อเรียกใช้ตารางและฟิ ลด์ในฐานข้อมูล
การแทรก Recordset (Query) คือ ขันตอนการแทรกสคริปต์ PHP สาหรับการ
้
สร้างเรคอร์ดเซ็ต เพื่อนาข้อมูลจากเรคอร์ดเซ็ต มาแสดงบนเว็บเพจ ซึ่งจะกล่าวถึงใน
ขันตอนต่อไป
้
ขันตอน:
้
1. คลิกทีแถบ Bindings หลังจากนันให้คลิกเครื่องหมาย
่
้
บวกเลื อ กเมนู
Recordset (Query)
2. เมื่อปรากฏไดอะล็อก Recordset ขึนมา ให้กาหนดค่าต่างๆ ดังรายละเอียด
้
ข้างล่างนี้ หลังจากนันให้บนทึกไฟล์ list.php
้
ั
รูปแสดงการเลือกเมนู
Recordset (Query)
18. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 147
ั
ตังชื่อ record set คือ rsEmp
้
เลือกการเชื่อมต่อทีสร้างไว้
่
คือdbconn
เลือกตารางทีใช้ คือ
่
employee
การเรียงข้อมูลตาม name
จากน้อยไปมาก
รูปแสดงการกาหนดค่าไดอะล็อก Recordset
(3) นาฟิ ลด์แต่ละฟิ ลด์มาวางลงในตาราง
การนาฟิ ลด์แต่ละฟิ ลด์มาวางลงในตารางของไฟล์ list.php ทีออกแบบไว้แล้ว มา
่
แสดงผลข้อมูลในเว็บเพจ
ขันตอน:
้
1. คลิกไปทีแถบ Bindings หลังจากนันให้คลิกเครื่องหมายบวก
่
้
หน้ารายการ
Recordset (rsEmp) จะปรากฏชื่อฟิ ลด์ของตาราง employee ในฐานข้อมูล ให้คลิกเลือก
และแทรกฟิลด์ลงเว็บเพจ เพือแสดงผลข้อมูล ตามขันตอน ดังรูปด้านล่าง
่
้
19. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 148
ั
คอลัมน์ของตาราง
ฟิ ลด์ของ Recordset (rsEmp)
ชื่อ-นามสกุล
name, lastname
แผนก
dept_id
เงินเดือน
Salary
ตารางแสดงการเลือกฟิลด์จากเรคอร์ดเซ็ตวางลงในเว็บเพจ
(1) คลิกเม้าส์ตาแหน่งของข้อมูลทีตองการแสดง
่ ้
(2) คลิกเลือกฟิลด์ทตองการ
่ี ้
่
(3) คลิกปุม Insert
รูปแสดงการเลือกฟิลด์จากเรคอร์ดเซ็ตวางลงในเว็บเพจ
20. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 149
ั
ส่วนข้อมูลอื่น ๆ ทาเช่นเดียวกัน
2. บันทึกไฟล์ list.php
่
3. สามารถทดสอบดูผลการทางานได้ โดยกดปุม F12 จากหน้าจอ Dreamweaver
โดยจะแสดงข้อมูลเพียง 1 เรคอร์ดเท่านัน
้
(4) การแสดงผลมากกว่า 1 เรคอร์ด โดยใช้ Repeat Region
ในขันตอนทีแล้ว หากลองทดสอบการทางานของเว็บเพจ จะเป็ นว่ามีการแสดงผล
้
่
ข้อมูลออกมาจานวน 1 เรคอร์ด ซึงทีจริงแล้ว ข้อมูลอาจจะมีมากกว่า 1 เรคอร์ดก็ได้ ดังนัน
่ ่
้
ในขันตอนนี้ จะเป็ นการกาหนดให้เว็บเพจแสดงผลวนซ้าจนกว่าจะครบทุกเรคอร์ด
้
ขันตอน:
้
1. เริมต้นทีหน้าจอ Dreamweaver เปิ ดไฟล์ list.php ให้คลิกเลือกบริเวณที่
่
่
ต้องการแสดงผลข้อมูลวนซ้า คือบรรทัดที่ 2 ของตาราง เพื่อให้ตาแหน่ งของเคอร์เซอร์อยู่
ภายในบริเวณบรรทัดทีแสดงผล หลังจากนันให้คลิกเลือกแท็ก <TR> บน Tag Selector
่
้
21. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 150
ั
(1) คลิกเม้าส์ตาแหน่ งใด ๆ ในตาราง
รูปการกาหนดการวนลูปแสดงผลซ้า
(2) คลิกเลือกแท็ก <tr> ที่ Tag Selector
2. จากนันคลิกแถบ Server Behaviors หลังจากนันให้คลิกเครื่องหมายบวก
้
้
เพื่อเลือกเมนู Repeat Region เมื่อปรากฏไดอะล็อก Repeat Region ให้กาหนดค่าต่างๆ
่
ดังรายละเอียดข้างล่างนี้ หลังจากนันให้คลิกปุม OK
้
รูปแสดงการกาหนด Repeat Region
เลือก record set คือ rsEmp
เลือกจานวนเรคอร์ดทีแสดงต่อ 1 หน้า
่
ในทีน้เลือก All records
่ ี
รูปการกาหนดแสดงผลทุกเรคอร์ด
3. บันทึกไฟล์ list.php
22. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 151
ั
4. ทดสอบการทางานของไฟล์ list.php โดยการกด F12 จะเห็นว่าหากข้อมูลมี
จานวน เรคอร์ดมาก จะต้องเลื่อนสไลด์ขนไปดู
้ึ
ผลลัพธ์ทได้
่ี
เขียนโปรแกรมสาหรับแสดงข้อมูล
1 <table border=1>
2
<tr>
3
<td> <center> ชื่อ-นามสกุล </center></td>
4
<td><center> แผนก </center></td>
5
<td> <center> เงินเดือน </center></td>
6
<td><center> แก้ไข ลบ </center></td>
7
</tr>
8 <?
9 $hotname = ‚localhost‛; //database server
23. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 152
ั
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
27
28
29
30
31
32
33
34
35
$user = ‚root‛; //ชื่อผูใช้
้
$password = ‚root‛; //รหัสผ่าน
$dbname = ‚human‛; //ชื่อฐานข้อมูล
$tbname = ‚employee‛; //ชื่อตาราง
//เชื่อมต่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูล
ไม่ได้");
//ติดต่อฐานข้อมูล
mysql_select_db($dbname) or die("ติดต่อฐานข้อมูลไม่ได้");
//คาสัง่ SQL
$query_rsEmp = "SELECT * FROM employee ORDER BY name
ASC";
$rsEmp = mysql_query($query_rsEmp); //ประมวลผลคาสัง่
$totalRows_rsEmp = mysql_num_rows($rsEmp);//นับจานวนเรคอร์ด /
แถวในตาราง
?>
<? if ($totalRows_rsEmp > 0) { // Show if recordset not empty ?> //ถ้า
มีเรคอร์ด
<? do { ?>
<tr>
<td><? echo $row_rsEmp['name']; ?> <?php echo
$row_rsEmp['lastname']; ?></td> //แสดงค่าในฟิลด์ name และ lastname
<td><? echo $row_rsEmp['dept_id']; ?></td> //แสดงรหัสแผนก
<td><? echo $row_rsEmp['salary']; ?></td> //แสดงเงินเดือน
<td align="center" nowrap>แก้ไข ลบ</td>
//แสดงข้อความก้ไข
ลบ
</tr>
<? } while ($row_rsEmp = mysql_fetch_assoc($rsEmp)); ?>
24. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 153
ั
<? } // Show if recordset not empty ?>
<? mysql_close(); //ปิดฐานข้อมูล
?>
(5) การแสดงผลข้อมูลแบบแบ่งหน้ า
จากการแสดงผลในขันตอนทีผานมา ถ้ามีเรคอร์ดจานวนมาก ก็จะแสดงจนหมด
้
่ ่
ดังนันหากต้องการดูขอมูลเรคอร์ดแรก ๆ ไม่สามารถหยุดดูได้ จึงต้องมีการแบ่งหน้าเพือ
้
้
่
แสดงผลทีละหน้า ไม่ มีขนตอนใหญ่ ๆ ดังนี้
ั้
1. การกาหนดจานวนเรคอร์ดสาหรับแสดงผลต่อ 1 หน้า
2. การสร้างลิงค์สาหรับคลิกแสดงผลทีละ 1 หน้า
3. การใช้งานระบบแสดงผลข้อมูลแบบแบ่งหน้า
5.1 การกาหนดจานวนเรคอร์ดแสดงผลต่อ 1 หน้ า
ในขันตอนนี้ จะเป็ นการกาหนดให้เว็บเพจแสดงผลวนซ้าจนกว่าจะครบจานวนเร
้
คอร์ดต่อ 1 หน้าทีระบุ
่
25. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 154
ั
ขันตอนการกาหนดจานวนเรคอร์ดแสดงผลต่อ 1 หน้ า:
้
1. เปิ ดไฟล์ list.php คลิกเลือกบริเวณทีตองการแสดงผลข้อมูลวนซ้า คือบรรทัดที่
่ ้
2 ของตาราง เพื่อให้ตาแหน่ งของเคอร์เซอร์อยูภายในบริเวณบรรทัดทีแสดงผล หลังจาก
่
่
นันให้คลิกเลือกแท็ก <TR> บน Tag Selector
้
(1) คลิกเม้าส์ตาแหน่ งใด ๆ ในตาราง
(2) คลิกเลือกแท็ก <tr> ที่ Tag Selector
รูปแสดงการกาหนดการแสดงจานวนเรคอร์ดต่อหน้า
2. คลิกทีแถบ Server Behaviors หลังจากนันให้ดบเบิลคลิกรายการ Repeat
่
้
ั
Region ทีได้สร้างไว้ก่อนหน้านี้ ดังรูป
่
เลือก record set คือ rsEmp
กาหนดจานวนเรคอดร์ต่อหน้า
รูปแสดงไดอะล็อก Repeat Region แสดงการกาหนด
แสดงผล 10 เรคอร์ดต่อ 1 หน้า
26. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 155
ั
3. บันทึกไฟล์ list.php และทดสอบโปรแกรมโดยการกด F12 พบว่าแสดงเฉพาะ
10 เรคอร์ดแรกเท่านัน เรคอร์ดถัดไปจะไม่แสดงผล
้
5.2 การนับจานวนเรคอร์ด และการแบ่งหน้ าแสดงผล
ในขันตอนการกาหนดจานวนเรคอร์ดแสดงผลต่อ 1 หน้า ทีผานมา จะเห็นว่าเราได้
้
่ ่
กาหนดให้แสดงผลข้อมูลครังละ 10 เรคอร์ด ดังนัน หากลองทดสอบการทางานไฟล์
้
้
list.php จะพบว่ามีขอมูลทีแสดงผลเพียง 10 เรคอร์ดเท่านัน ซึ่งในความเป็ นจริงอาจจะมี
้
่
้
มากกว่านันก็ได้ ในส่วนนี้กจะเป็ นการสร้างลิงค์สาหรับคลิกกลับไป-มาทีละ 10 เรคอร์ด
้
็
หรือแล้วแต่จานวนทีเรากาหนดในขันตอนการแสดงผลซ้านันเอง
่
้
่
ขันตอน:
้
1. เปิดไฟล์ list.php
2. คลิกเม้าส์เพือวางเคอร์เซอร์ทตาแหน่งด้านล่างถัดจากตารางแสดงผล
่
่ี
27. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 156
ั
คลิกเลือกวางตาแหน่ง
3. หลังจากนันให้คลิกเลือกเมนู Insert > Data Objects > Display Record
้
Count > Recordset Navigation Status เมื่อปรากฏไดอะล็อก Recordset Navigation
Status ขึนมา เป็ นการให้เลือกว่าจะกระทากับ Recordset ใด (กรณีทใน 1 เว็บเพจมีการ
้
่ี
สร้างหลาย Recordset) ในทีน้ีให้เลือก rsEmp หลังจากนันให้คลิก OK
่
้
เลือก record set คือ reEmp
รูปแสดงไดอะล็อก Recordset Navigation Status
จะปรากฏข้อความแสดงสถานะว่าขณะนี้กาลังแสดงผลเรคอร์ดใดบ้าง
รูปแสดง Recordset Navigation Status
28. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 157
ั
4. คลิกเลือกเมนู Insert > Data Objects > Recordset Paging > Recordset
Navigation Bar
5. เมื่อปรากฏไดอะล็อก Recordset Navigation Bar ขึนมา เป็ นการให้เลือกว่าจะ
้
กระทากับ Recordset ใด (กรณีทใน 1 เว็บเพจมีการสร้างหลาย Recordset) ในทีน้ีให้
่ี
่
เลือก rsEmp ในช่อง Display Using ให้เลือก Text หลังจากนันให้คลิก OK
้
รูปแสดงไดอะล็อก Recordset Navigation Bar
จะปรากฏลิงค์สาหรับคลิกเพือแสดงผลข้อมูลกลับไป-มาทีละ 10 เรคอร์ด หรือ
่
แล้วแต่จานวนทีเรากาหนดในขันตอนการแสดงผลซ้า
่
้
รูปแสดง Recordset Navigation Bar
6. บันทึกไฟล์ list.php
5.3 การใช้งานระบบแสดงผลข้อมูลแบบแบ่งหน้ า
่
เริมต้นโดยใช้โปรแกรม Dreamweaver เปิ ดไฟล์ list.php ขึนมา แล้วกดปุม F12
่
้
โปรแกรม Internet Explorer จะถูกเปิดขึนมาเรียกใช้งานไฟล์ list.php หลังจากนันทดสอบ
้
้
คลิกทีลงค์ First Previous Next และ Last ด้านล่างของหน้าเว็บเพจ เรคอร์ดทีแสดงผลจะ
่ ิ
่
ปรากฏขึนมาทีละ 10 เรคอร์ด
้
29. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 158
ั
1 <table border=1>
2
<tr>
3
<td> <center> ชื่อ-นามสกุล </center></td>
4
<td><center> แผนก </center></td>
5
<td> <center> เงินเดือน </center></td>
6
<td><center> แก้ไข ลบ </center></td>
7
</tr>
8 <?
9
mysql_connect("localhost","root","root");
10
mysql_select_db("Human");
11
$query_rsEmp = "SELECT * FROM employee ORDER BY name
ASC";
12
$rsEmp = mysql_query($query_rsEmp);
30. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 159
ั
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$totalRows_rsEmp = mysql_num_rows($rsEmp);
?>
<? if ($totalRows_rsEmp > 0) { // Show if recordset not empty ?>
<? do { ?>
<tr>
<td><a href="detail.php?emp_id=<?php echo
$row_rsEmp['emp_id']; ?>"><? echo $row_rsEmp['name']; ?> <?php
echo $row_rsEmp['lastname']; ?></td>
<td><? echo $row_rsEmp['dept_id']; ?></td>
<td><? echo $row_rsEmp['salary']; ?></td>
<td align="center" nowrap>แก้ไข ลบ</td>
</tr>
<? } while ($row_rsEmp = mysql_fetch_assoc($rsEmp)); ?>
<? } // Show if recordset not empty ?>
<p>
เรคอร์ดที่ <?php echo ($startRow_rsEmp + 1) ?> ถึง <?php echo
min($startRow_rsEmp + $maxRows_rsEmp, $totalRows_rsEmp) ?>
จากทังหมด <?php echo $totalRows_rsEmp ?> เรคอร์ด</p>
้
</p>
<table border="0">
<tr>
<td width="136"><?php if ($pageNum_rsEmp > 0) { // Show if not
first page ?>
<div align="right"><a href="<?php
printf("%s?pageNum_rsEmp=%d%s", $currentPage, 0,
$queryString_rsEmp); ?>">หน้าแรก</a>
</div>
<?php } // Show if not first page ?></td>
31. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 160
ั
37
38
39
40
41
42
43
44
45
46
47
48
49
<td width="58"><?php if ($pageNum_rsEmp > 0) { // Show if not
first page ?>
<a href="<?php printf("%s?pageNum_rsEmp=%d%s",
$currentPage, max(0, $pageNum_rsEmp - 1), $queryString_rsEmp);
?>">ก่อนหน้านี้</a>
<?php } // Show if not first page ?></td>
<td width="57"><?php if ($pageNum_rsEmp < $totalPages_rsEmp)
{ // Show if not last page ?>
<a href="<?php printf("%s?pageNum_rsEmp=%d%s",
$currentPage, min($totalPages_rsEmp, $pageNum_rsEmp + 1),
$queryString_rsEmp); ?>">หน้าถัดไป</a>
<?php } // Show if not last page ?></td>
<td width="50"><?php if ($pageNum_rsEmp < $totalPages_rsEmp)
{ // Show if not last page ?>
<a href="<?php printf("%s?pageNum_rsEmp=%d%s",
$currentPage, $totalPages_rsEmp, $queryString_rsEmp); ?>">หน้า
สุดท้าย</a>
<? } // Show if not last page ?></td>
</tr>
</table>
<? mysql_close();
?>
(6) การค้นหาข้อมูลที่ต้องการแสดงรายละเอียดทีละ 1 เรคอร์ด
การแทรกสคริปต์คนหาข้อมูลนี้ จะเป็ นการแทรกลงในไฟล์ detail.php เพื่อนาเอา
้
ข้อมูลพนักงานออกมาแสดงรายละเอียดในเว็บเพจทีละเรคอร์ด โดยเงื่อนไขการค้นหา
ข้อมูลนัน จะใช้ ฟิลด์ emp_id ของตารางในฐานข้อมูล เปรียบเทียบกับค่า URL
้
Parameter "emp_id" ที่ถกส่งมาจากไฟล์ list.php
ู
32. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 161
ั
แบ่งออกเป็ น 2 ขันตอนคือ
้
1. การแทรกสคริปต์สาหรับแสดงผลข้อมูลทีละ 1 เรคอร์ดลงในเว็บเพจ
2. การส่งและรับค่า URL Parameter เพือระบุเรคอร์ดทีตองการแสดงผล
่
่ ้
6.1 การแทรกสคริ ปต์สาหรับแสดงผลข้อมูลทีละ 1 เรคอร์ดลงในเว็บเพจ
ขันตอน:
้
1. เริมต้นทีโปรแกรม Dreamweaver คลิกเมนู File > New จะปรากฏไดอะล็อก
่
่
่
New Document ขึนมา ให้คลิก PHP หลังจากนันคลิกปุม Create บันทึกเป็ นไฟล์
้
้
detail.php
2. แทรกตาราง HTML สาหรับแสดงข้อมูลลงในเว็บเพจ โดยให้มหน้าเว็บเพจ ดัง
ี
รูป
TextField ชื่อ emp_id
TextField ชื่อ name
TextField ชื่อ lastname
TextField ชื่อdate_born
TextField ชื่อ gender
TextField ชื่อ salary
TextField ชื่อ dept_id
Image ชื่อ photo
Text Area ชื่อ Address
รูปแสดงแบบตารางสาหรับแสดงผลข้อมูล
33. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 162
ั
3. เลือกเมนู Modify > Page Properties เมื่อปรากฏไดอะล็อก Page Properties
่
ขึนมา ให้กาหนด Properties ของเว็บเพจ ดังรายละเอียดด้านล่างนี้ หลังจากนันคลิกปุม
้
้
OK
ค่าของไดอะล็อก
Title
Background Images
Document Encoding
ค่าที่กาหนด
Employee Details
images/bkg_detail.gif
Thai Windows
่
4. คลิกแถบ Bindings หลังจากนันให้คลิกปุมเครื่องหมายบวก
้
และเลือก
รายการ Recordset (Query) เมื่อปรากฏไดอะล็อก Recordset ขึนมา ให้กาหนดค่าต่างๆ
้
่
ดังรายละเอียดข้างล่างนี้ หลังจากนันให้คลิกปุม OK
้
ชื่อ record set
ชื่อ connection
ชื่อ ตาราง
ฟิลด์กรองข้อมูล
URL ทีส่งมาเพื่อ
่
เปรียบเทียบกับ
Filter
รูปแสดงไดอะล็อก Recordset
5. ไฟล์ detail.php คลิกทีแถบ Bindings หลังจากนันให้คลิกเครื่องหมายบวก
่
้
หน้ารายการ Recordset (rsEmp) จะปรากฏชื่อฟิ ลด์ ให้คลิกเลือกและแทรกฟิ ลด์ลงเว็บ
เพจ เพือแสดงผลข้อมูล
่
34. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 163
ั
6. สาหรับฟิ ลด์ photo ซึ่งเก็บชื่อไฟล์รูปภาพพนักงาน เช่น Amit_Kelly.jpg เรา
ต้องการให้แสดงในลักษณะรูปภาพ โดยให้เอาไฟล์รูปภาพ photosAmit_Kelly.jpg มา
แสดงบนเว็บเพจ ให้คลิกทีเมนู Insert > Image จะปรากฏไดอะล็อก Select Image
่
่
Source ให้กาหนดค่าต่างๆ ดังตารางด้านล่าง หลังจากนันให้คลิกปุม OK
้
35. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 164
ั
7. บันทึกไฟล์ detail.php
6.2 การส่งและรับค่า URL Parameter เพื่อระบุเรคอร์ดที่ต้องการแสดงผล
ขันตอนนี้ ก็คอการทาให้ไฟล์เว็บเพจ 2 ไฟล์ list.php และ detail.php สามารถ
้
ื
เชื่อมโยงเพือส่งและรับค่า URL Parameter กันได้นนเอง
่
ั่
ขันตอนการส่งและรับค่า URL Parameter เพื่อระบุเรคอร์ดที่ต้องการ
้
แสดงผล
1. เริมต้นที่โปรแกรม Dreamweaver เปิ ดไฟล์ list.php ขึนมา แล้วลากเม้าส์ทา
่
้
ไฮไลต์ตาแหน่งแสดงผลฟิลด์ name และ lastname ดังรูป
36. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 165
ั
รูปแสดงการลากเม้าส์ทาไฮไลต์ฟิลด์ name และ lastname
2. คลิกทีแถบ Server Behavior และคลิกเครื่องหมายบวก จากนันเลือกรายการ
่
้
Go To Detail Page for PHP จะปรากฏหน้าต่าง Go To Detail Page for PHP ดังรูป
และกาหนดค่าต่าง ๆ
เลือกไฟล์ทตองการส่งค่า URL
่ี ้
ชื่อ recordset
ค่า URL ทีสงไปไฟล์
่่
6. บันทึกไฟล์ list.php ก็เป็ นเสร็จขันตอนการกาหนดการส่งค่า URL Parameter
้
7. ขันตอนสุดท้ายคือกาหนดให้ไฟล์ detail.php รับค่า URL Parameter ทีส่งมา
้
่
จากไฟล์ list.php ซึ่งวิธการทานัน เราได้ทาผ่านมาแล้วให้ยอนกลับไปดูในขันตอน "การ
ี
้
้
้
ค้นหาข้อมูลทีตองการแสดงรายละเอียดทีละ 1 เรคอร์ด" จะเห็นได้ว่า เราได้มการเรียกใช้
่ ้
ี
URL Parameter ‚emp_id‛ ซึงก็คอค่า URL Parameter ทีสงไปจากไฟล์ list.php นันเอง
่ ื
่่
่
(7) การใช้งานระบบแสดงผลข้อมูล
่
เริมต้นโดยใช้โปรแกรม Dreamweaver เปิ ดไฟล์ list.php ขึนมา แล้วกดปุม F12
่
้
โปรแกรม Internet Explorer จะถูกเปิ ดขึนมาเรียกใช้งานไฟล์ list.php ให้ทดสอบคลิกที่
้
38. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 167
ั
การเขียนโปรแกรม
1. ทาการปรับปรุงโปรแกรม list.php โดยเพิมคาสังในบรรทัดที่ 18 เพื่อเชื่อมโยง
่
่
ไปยังไฟล์ detail.php โดยส่งค่า URL คือ emp_id
1 <table border=1>
2
<tr>
3
<td> <center> ชื่อ-นามสกุล </center></td>
4
<td><center> แผนก </center></td>
5
<td> <center> เงินเดือน </center></td>
6
<td><center> แก้ไข ลบ </center></td>
7
</tr>
8 <?
9
mysql_connect("localhost","root","root");
10
mysql_select_db("Human");
11
$query_rsEmp = "SELECT * FROM employee ORDER BY name
39. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 168
ั
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
ASC";
$rsEmp = mysql_query($query_rsEmp);
$totalRows_rsEmp = mysql_num_rows($rsEmp);
?>
<? if ($totalRows_rsEmp > 0) { // Show if recordset not empty ?>
<? do { ?>
<tr>
<td><ahref="detail.php?emp_id=<?php echo
$row_rsEmp['emp_id']; ?>"><? echo $row_rsEmp['name']; ?> <?php
echo $row_rsEmp['lastname']; ?></td>
<td><? echo $row_rsEmp['dept_id']; ?></td>
<td><? echo $row_rsEmp['salary']; ?></td>
<td align="center" nowrap>แก้ไข ลบ</td>
</tr>
<? } while ($row_rsEmp = mysql_fetch_assoc($rsEmp)); ?>
<?php } // Show if recordset not empty ?>
<? mysql_close();
?>
ผลการเรียกใช้โปรแกรม list.php
40. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 169
ั
โปรแกรม detail.php
1 <table width="480" border="1" cellpadding="3" cellspacing="1" >
2
<tr>
3
<td width="33%" rowspan="8" align="center" <table
width="100%" border="0" cellpadding="2" cellspacing="1">
4
<tr>
5
<td >รูปภาพ:</td>
6
</tr>
7
<tr>
8
<td align="center"><img src="photos/<?php echo
$row_rsEmp['photo']; ?>"></td>
9
</tr>
10
</table></td>
11
<td width="21%" align="right" nowrap bgcolor="#FFE5B2"
12 class="detaillabels">รหัสพนักงาน:</td>
13
<td width="46%" <label for="textfield"><? echo
$row_rsEmp['emp_id']; ?></label></td>
14
</tr>
16
<tr>
17
<td align="right" >ชื่อ:</td>
41. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 170
ั
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<td><? echo $row_rsEmp['name']; ?></td>
</tr>
<tr>
<td align="right" >นามสกุล:</td>
<td><? echo $row_rsEmp['lastname']; ?></td>
</tr>
<tr>
<td align="right">เพศ:</td>
<td><? echo $row_rsEmp['gender']; ?></td>
</tr>
<tr>
<td align="right">วันเกิด:</td>
<td><? echo $row_rsEmp['date_born']; ?></td>
</tr>
<tr>
<td align="right">แผนก:</td>
<td><label for="select"><? echo $row_rsEmp['dept_id'];
?></label></td>
</tr>
<tr>
<td align="right">เงินเดือน:</td>
<td><? echo $row_rsEmp['salary']; ?></td>
</tr>
<tr>
<td align="right">ทีอยู:่ </td>
่
<td><?php echo $row_rsEmp['address']; ?></td>
</tr>
</table>
42. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 171
ั
บทที่ 9
การสร้างระบบค้นหาข้อมูล
ระบบค้นหาข้อมูล คือเว็บเพจทีทาหน้าทีในการเรียกค้นหาข้อมูลจากฐานข้อมูล
่
่
และนาผลลัพธ์มาแสดงผลทีหน้าจอเว็บเพจ
่
รูปแสดงไฟล์ทเี่ กียวข้องกับระบบค้นหาข้อมูล
่
ระบบค้นหาข้อมูลในส่วนทีจะอธิบายนี้ จะประกอบด้วยไฟล์ 2 ไฟล์
่
1. searchadv.php ทาหน้าทีรบค่าคาค้น แล้วส่งไปเป็ น URL Parameter ชื่อ
่ั
keywords ไปให้ไฟล์ resultadv.php ใช้เปรียบเทียบค้นหาข้อมูลจากตารางในฐานข้อมูล
2. resultadv.php ทาหน้าแสดงรายละเอียดของพนักงานทีละคน โดยจะรับ URL
Parameterชื่อ keywords
ในรูปแบบ $_GET[‘keywords’] จากฟอร์มในไฟล์ searchadv.php
ขันตอนการสร้างระบบค้นหาข้อมูลทียกมาอธิบายในทีน้ี แบ่งเป็ นขันตอนดังต่อไปนี้
้
่
่
้
1. การสร้างฟอร์มสาหรับพิมพ์คาค้น และกาหนด properties
2. การค้นหาข้อมูลแบบเงือนไขเดียว (Basic)
่
3. การใช้งานระบบค้นหาข้อมูลแบบเงือนไขเดียว (Basic)
่
4. การค้นหาข้อมูลแบบหลายเงือนไข (Advanced)
่
5. การใช้งานระบบค้นหาข้อมูลแบบหลายเงือนไข (Advanced)
่
(1) การสร้างฟอร์มสาหรับพิ มพ์คาค้น
ขันตอนนี้จะเป็ นการสร้างฟอร์มสาหรับพิมพ์คาค้น โดยการแทรกฟอร์มและอ็อบ
้
เจ็คต์ของฟอร์มชนิด Text Field สาหรับรับค่าคาค้น
43. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 172
ั
ขันตอนการสร้างฟอร์มสาหรับพิ มพ์คาค้น:
้
1. เริมต้นทีโปรแกรม Dreamweaver คลิกเมนู File > New จะปรากฏไดอะล็อก
่
่
่
New Document ขึนมา ให้คลิก PHP หลังจากนันคลิกปุม Create เมื่อปรากฏเว็บเพจ
้
้
ว่างๆ ขึนมา ให้บนทึกเป็ นไฟล์ searchadv.php
้
ั
2. เลือกเมนู Modify > Page Properties เมื่อปรากฏไดอะล็อก Page Properties
่
ขึนมา ให้กาหนด Properties ของเว็บเพจ ดังรายละเอียดด้านล่างนี้ หลังจากนันคลิกปุม
้
้
OK
ค่าของไดอะล็อก
Title List
Background Image
Encoding
ค่าที่กาหนด
Search employees
images/bkg_list.gif
Thai (Windows)
3. แทรกฟอร์มลงในเว็บเพจ โดยคลิกไปทีเมนู Insert > Form และกาหนดชื่อ
่
ฟอร์มเป็ น fmSearch ส่วน Action กาหนดเป็ น resultadv.php และ Method กาหนดเป็ น
Get
รูปแสดงการกาหนด Property ของฟอร์ม
44. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 173
ั
4. แทรกฟอร์มสาหรับค้นหาข้อมูล ดังรูป
TextField ชื่อ keywords
Form
Button กาหนด Action เป็ น Submit
Button กาหนด Action เป็ น Reset
รูปแสดงการกาหนดรายละเอียดต่าง ๆ ในฟอร์ม
5. บันทึกไฟล์ searchadv.php
(2) การค้นหาข้อมูลแบบเงื่อนไขเดียว (Basic)
ขันตอนนี้ จะเป็ นการ Recordset (Query) สาหรับค้นหาข้อมูลจากฐานข้อมูล โดย
้
จะมีการกาหนดเงื่อนไขในการค้นหาข้อมูลจาก URL Parameter ชื่อ $_GET[‘keywords’]
ทีสงมาจากไฟล์ searchadv.php
่่
การแทรก Recordset (Query) นี้ จะคล้ายกับขันตอนการสร้างในไฟล์ list.php เพื่อ
้
เป็ นการประหยัดเวลา จึงแนะนาให้เปิ ดไฟล์ list.php ขึ้นมาแล้วบันทึกเป็ นไฟล์
resultadv.php
ขันตอนการค้นหาข้อมูลแบบเงื่อนไขเดียว (Basic):
้
1. เปิดไฟล์ list.php ของระบบแสดงผลข้อมูลขึนมา ให้บนทึก (SAVE AS…) เป็ น
้
ั
ไฟล์ resultadv.php
2. คลิกทีแถบ Bindings ดับเบิลคลิกทีรายการ Recordset (rsEmp) เมื่อปรากฏ
่
่
ไดอะล็อก Recordset ขึนมา ให้กาหนดค่าของตัวแปรต่างๆ ดังรายละเอียดต่อไปนี้
้
46. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 175
ั
ชื่อ record set คือ rsEmp
เลือก connection
คือ dbconn
เลือก ตาราง คือ
employee
กรองตามชื่อในตาราง โดยอยูสวนใดก็ได้ ในชื่อ
่ ่
ตัวแปร keywords ที่สงมาจาก searchadv.php
่
เรี ยงลาดับตามชื่อ
3. บันทึกไฟล์ resultadv.php
(3) การใช้งานระบบค้นหาข้อมูลแบบเงื่อนไขเดียว (Basic)
เริมต้นโดยใช้โปรแกรม Dreamweaver เปิ ดไฟล์ searchadv.php ขึนมา แล้วกด
่
้
่
ปุม F12 โปรแกรม Internet Explorer จะถูกเปิ ดขึนมาเรียกใช้งานไฟล์ searchadv.php
้
่
หลังจากนันให้พมพ์คาค้น และคลิกปุม Search เพือค้นหาข้อมูลจากฟิลด์ name
้
ิ
่
การทางานของโปรแกรม searchadv.php ให้ป้อนคาค้น โดยป้อนชื่อพนักงาน
่
จากนันทาการกดปุม Search เพือทาการค้นหา โดยจะเรียกโปรแกรม resultadv.php
้
่
47. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 176
ั
หน้าจอการทางานโปรแกรม searchadv.php
หน้าจอโปรแกรม resultadv.php
โปรแกรมค้นหาข้อมูล searchadv.php
1 form action="resultsadv.php" method="get" name="fmSearch"
id="fmSearch">
2 <table width="71%" border="1" cellspacing="1" cellpadding="3">
3
<tr>
4
<td width="42%"><div align="center">
48. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 177
ั
5
6
7
8
9
10
11
คาค้น :
</div></td>
<td width="26%"><input name="keywords" type="text"
id="keywords" size="25" maxlength="25"></td>
<td width="32%"><input type="submit" name="btnSubmit"
id="btnSubmit" value="Search"></td>
</tr>
</table>
</form>
(4) การค้นหาข้อมูลแบบหลายเงื่อนไข (Advanced)
ในขันตอนที่ผ่านมา เราได้คนหาข้อมูลโดยในการ Filter ข้อมูลนันจะเป็ นการ
้
้
้
เปรียบเทียบค่าฟิ ลด์ name กับ URL Parameter $_GET[‘keywords’] ซึ่งก็หมายถึง
ค้นหาข้อมูลจากฟิลด์ name ฟิลด์เดียวเท่านัน
้
การค้นหาด้วยเงื่อนไขที่ซบซ้อนมากกว่านี้ สามารถทาได้โดยการดับเบิลคลิก
ั
่
Recordset(rsEmp) ขึนมา แล้วคลิกปุม Advanced… เพื่อเข้าไปเพิมเติมเงื่อนไขการ
้
่
ค้นหาข้อมูล
ขันตอนการค้นหาข้อมูลแบบหลายเงื่อนไข (Advanced):
้
1. เปิดไฟล์ resultadv.php
2. คลิกทีแถบ Bindings จากนันดับเบิลคลิกทีรายการ Recordset (rsEmp) เมื่อ
่
้
่
่
ปรากฏไดอะล็อก Recordset ขึนมา ให้คลิกปุม Advanced… เพือกาหนดแก้ไขคาสัง่
้
่
SQL สาหรับค้นหาหลายเงือนไข
่
50. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 179
ั
ค่าของไดอะล็อก
Name
Connection
SQL
ค่าที่กาหนด
rsEmp
dbconn
SELECT * FROM employee
WHERE name LIKE%colname
ORDER BY name ASC
ความหมายคาสังในช่อง SQL
่
SELECT * FROM employee //เลือกทุกฟิลด์ในตาราง employee
WHERE name LIKE%colname% //เงื่อนไขคือคาค้นทีส่งมาให้ไปหาในฟิ ลดชื่อ name
่
์
โดยคาค้นดังกล่าวจะอยูในส่วนของชื่อตรงไหนก็ได้
่
ORDER BY name ASC //เมื่อค้นได้แล้วให้แสดงข้อมูล โดยเรียงตามชื่อ
3. หากต้องการค้นหาข้อมูล นอกจากในชื่อแล้ว ยังสามารถค้นหาในนามสกุล หรือ
รหัสแผนก เป็ นต้น ดังนันต้องปรับคาสังในไดอะล็อก Recordset ดังรูปคาสังด้านล่าง
้
่
่
หลังจากนันให้ทดสอบการค้นหาโดยเปิ ด Dreamweaver ไปทีไฟล์ searchadv.php แล้ว
้
่
กด F12
SELECT employee.*
FROM employee
WHERE employee.dept_id = colname
OR ( employee.name LIKE %colname%
OR employee.lastname LIKE %colname% )
ORDER BY name ASC
5. ทาการบันทึก และทดสอบโปรแกรม
6. จากตัวอย่างจะเห็นว่ารหัสแผนกจะแสดงเป็ นตัวเลข ซึ่งไม่ส่อความหมาย ดังนัน
ื
้
จะต้องนารหัสแผนกไปอ่านในตาราง department เพื่อนาชื่อแผนก (deptname) มาแสดง
แทนรหัสแผนก ดังนันปรับคาสังในไดอะล็อก Recordset ดังรูปคาสังด้านล่าง เพื่อ JOIN
้
่
่
ตาราง department เอาฟิ ลด์ช่อแผนก (deptname) มาแสดงผลและเพิมเงื่อนไข ให้คนหา
ื
่
้
51. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 180
ั
จากฟิ ลด์ name และ lastname หลังจากนันให้ทดสอบการค้นหาโดยเปิ ด Dreamweaver
้
ไปทีไฟล์ searchadv.php แล้วกด F12
่
SELECT employee.*, department.deptname
FROM employee, department
WHERE employee.dept_id = department.dept_id
AND ( employee.name LIKE '%colname%' OR employee.lastname
LIKE '%colname%' )
ORDER BY name ASC
และทาการแก้ไข Record set ดังนี้
6.1 เปิดไฟล์ resultadv.php จากนันเลือก BINDINGS และดับเบิลคลิกที่ rsEmp
้
้
ซึงจะเห็นว่ามีการ JOIN ตาราง นันคือจะมีฟิลด์ deptname ของตาราง department มา
่
่
รวมอยู่
52. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 181
ั
6.2 จากนันคลิกทีชองแสดงแผนก และใช้เม้าส์คลิกทีฟิลด์ deptname ใน reEmp
้
่ ่
่
่
และกดปุม insert หรือลากไปวางในช่องดังกล่าว
6.3 ให้ทาการบันทึก resultadv.php
6.4 ทดสอบโปรแกรม โดยเปิดไฟล์ searchadv.php
53. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 182
ั
หน้าจอแสดงผลการค้นหา
ซึงจะเห็นว่าจะแตกต่างจากโปรแกรม list.php คือ ช่องแสดงแผนก จะแสดงชื่อ
่
แผนก ไม่ใช่แสดงรหัสแผนกเหมือนโปรแกรม list.php
(5) การใช้งานระบบค้นหาข้อมูลแบบหลายเงื่อนไข (Advanced)
เริมต้นโดยใช้โปรแกรม Dreamweaver เปิ ดไฟล์ searchadv.php ขึนมา แล้วกด
่
้
่
ปุม F12 โปรแกรม Internet Explorer จะถูกเปิ ดขึนมาเรียกใช้งานไฟล์ searchadv.php
้
่
หลังจากนันให้พมพ์คาค้น และคลิกปุม Search เพือค้นหาข้อมูล
้
ิ
่
โดยให้ทดสอบพิมพ์คาค้นทีตรงกับค่าในฟิ ลด์ emp_id name lastname และ
่
dept_id ทีละเงือนไขแล้วสังเกตผลลัพธ์วาถูกต้องหรือไม่
่
่
54. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 183
ั
บทที่ 10
การสร้างระบบเพิ่มข้อมูล
ระบบเพิมข้อมูล คือเว็บเพจที่ทาหน้าที่ในการรับข้อมูลจากผูใช้ผ่านฟอร์ม และ
่
้
บันทึกการกรอกข้อมูลเข้าจัดเก็บในฐานข้อมูล ในทีน้ีจะประกอบด้วยไฟล์ 2 ไฟล์ ดังรูป
่
รูปแสดงไฟล์ทเี่ กียวข้องกับระบบเพิมข้อมูล
่
่
? insert.php ประกอบด้วยฟอร์มสาหรับเป็ นแบบฟอร์มกรอกข้อมูลและสคริปต์
สาหรับจัดเก็บข้อมูลลงตารางของฐานข้อมูล
? insertok.php ประกอบด้วยข้อความแสดงผลการเพิมข้อมูล
่
ขันตอน การสร้างระบบเพิมข้อมูลทียกมาอธิบายในทีน้ี แบ่งเป็ นขันตอนดังต่อไปนี้
้
่
่
่
้
1. การสร้างฟอร์มกรอกข้อมูล
2. การแทรก Insert Record Server Behavior ลงในเว็บเพจ
3. การสร้างเว็บเพจแสดงผลลัพธ์การเพิมข้อมูล
่
4. การใช้งานระบบเพิมข้อมูล
่
(1) การสร้างฟอร์มกรอกข้อมูล
การสร้างฟอร์มกรอกข้อมูล คือ ขันตอนการสร้างแบบฟอร์มให้ผใช้เว็บ
้
ู้
แอพพลิเคชัน นาข้อมูลมากรอกในแบบฟอร์ม และส่งข้อมูลไปประมวลผลบนแอพพลิเคชัน
่
่
เซิรฟเวอร์ เพือบันทึกลงตารางของฐานข้อมูล
์
่
ขันตอนการสร้างฟอร์มกรอกข้อมูล:
้
1. เริมต้นทีโปรแกรม Dreamweaver คลิกเมนู File > New จะปรากฏไดอะล็อก
่
่
่
New Document ขึนมา ให้คลิก PHP หลังจากนันคลิกปุม Create บันทึกเป็ นไฟล์
้
้
insert.php
55. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 184
ั
2. แทรกฟอร์ม Inset > Form ตังชื่อฟอร์ม fmAdd และสร้างฟอร์มรับข้อมูล โดยให้
้
มีขอความและชื่ออ็อบเจ็คต์ของฟอร์ม ดังรูป
้
รูปแสดง Property ของแท็ก <FORM>
TextField ชื่อ emp_id
TextField ชื่อ name
TextField ชื่อ lastname
TextField ชื่อ date_born
TextField ชื่อ gender
TextField ชื่อ salary
Select(List/Menu) ชื่อ dept_id
FileField ชื่อ photo
TextField ชื่อ address
รูปแสดงแบบฟอร์มกรอกข้อมูล
56. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 185
ั
จะเห็นได้ว่า ในการกาหนดคุณสมบัตของฟอร์ม เราไม่จาเป็ นต้องกาหนดค่าใดๆ
ิ
ในช่อง Action และ Method เนื่องจากในขันตอนต่อไป Dreamweaver จะสร้างให้เราเอง
้
โดยอัตโนมัติ
(2) การแทรก Insert Record Server Behavior ลงในเว็บเพจ
การแทรก Insert Record Server Behavior เป็ นการแทรกสคริปต์ PHP เพื่อ
บันทึกข้อมูลลงตารางของฐานข้อมูล
ขันตอนการแทรก Insert Record Server Behavior ลงในเว็บเพจ:
้
1. เปิ ดแถบ Server Behaviors โดยคลิกทีแถบ Server Behaviors แล้วคลิกทีปุม
่
่ ่
เครื่องหมายบวก เลือกรายการ Insert Record จากเมนูดงรูป
ั
รูปแสดงการคลิกเลือกเมนู Insert Record จาก Server Behaviors
2. เมื่อปรากฏไดอะล็อก Insert Record ขันตอนต่อจากนี้ ก็จะเป็ นการกาหนดค่าใน
้
ไดอะล็อก Insert Record ซึงรายละเอียดการกาหนดค่าต่างๆ มีดงต่อไปนี้
่
ั
57. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 186
ั
ชื่อฟอร์ ม fmAdd
เลือก connection ที่
สร้ างไว้ คือ dbconn
จับคูฟิลด์ในตาราง
่
และในฟอร์ ม
คลิกเพื่อตรวจสอบการ
จับคู่
หลังจากที่กดปุ่ มบันทึกแล้ ว ให้ เรี ยกไฟล์ insertok.php
รูปแสดงไดอะล็อก Insert Record
ค่าของไดอะล็อก
ค่าที่กาหนด
Submit Values From
fmAdd
Connection
dbconn
Insert Table
employee
Columns จับคูฟิลด์ของฐานข้อมูลกับอ็อบเจ็คต์ของฟอร์มดังต่อไปนี้
่
ชื่อฟิลด์ในตาราง
ชื่อ TextField, Select(List/menu), FileField
name
name
lastname
lastname
gender
gender
salary
salary
dept_id
dept_id
address
address
photo
photo
After Inserting, Go To
insertok.php
58. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 187
ั
3. บันทึกไฟล์ insert.php ก็เป็ นอันเสร็จขันตอนการแทรก Insert Record Server
้
behavior
(3) แทรก Select(list/menu)
การแทรก Select(List/Menu) แบ่งเป็ น 2 ขันตอน คือ
้
1) ขันตอนการสร้าง record set สาหรับตาราง department
้
2) ขันตอนการแทรก Select(List/Menu)
้
ขันตอนการสร้าง record set สาหรับตาราง department
้
1. เปิดแถบ Server Behavior แล้วคลิกทีปุมเครื่องหมายบวก
่ ่
Recordset
และเลือกรายการ
59. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 188
ั
2. จากหน้าต่าง Recordset ให้กาหนดค่าสาหรับ record set ตาราง
department ดังนี้
ตังชื่อ record set คือ rsDep
้
เลือก connection ที่
สร้ างไว้ คือ dbconn
เลือกตาราง
department
เรี ยงข้ อมูล โดยใช้ dept_id
เรี ยงจากน้ อยไปมาก
่
และคลิกปุม OK
ขันตอนการแทรก Select(List/Menu)
้
1. คลิกที่ Select(list/menu) ของ dept_id เพือกาหนด properties
่
ตังชื่อว่า dept_id
้
60. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 189
ั
2. คลิกทีปุม Dynamic
่ ่
3. จะปรากฏหน้าต่าง Dynamic List/menu ให้กาหนดข้อมูลดังรูป
ฟิ ลด์ dept_id จากฟอร์ ม fmAdd
เลือกมาจาก reDep
นา dept_id ไปค้ น
ค้ นหาชื่อแผนก deptname
่
4. คลิกปุม OK หลังจากนัน ให้บนทึกไฟล์ insert.php
้
ั
NOTE: สาหรับระบบแก้ไขข้อมูล (ไฟล์ update.php) การปรับเปลียน Text Field ให้เป็ น
่
Select (List/Menu) ก็ทาตาม 3 ขันตอนทีได้กล่าวมาเช่นเดียวกัน โดยในขันตอนที่ "(3)
้
่
้
การกาหนด Property ของ List/Menu ให้เป็ นแบบ Dynamic" ให้กาหนดค่าในช่อง Select
value equal to ให้มค่าเท่ากับ <?php echo $row_rsEmp[‘dept_id’]; ?> หรือโดยการ
ี
คลิกเลือกจากไดอะล็อก Dynamic Data ดังรูปด้านล่าง
61. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 190
ั
รูปแสดงไดอะล็อก Dynamic List/Menu ของระบบแก้ไขข้อมูล
(4) การสร้างเว็บเพจแสดงผลลัพธ์การเพิ่ มข้อมูล
ขันตอนสุดท้ายของระบบเพิมข้อมูลคือ การสร้างไฟล์แสดงผลการทางาน ซึ่งจะ
้
่
ประกอบด้วยข้อความ แสดงให้ผใช้ทราบว่าการกรอกข้อมูลเสร็จเรียบร้อยแล้วเท่านัน ให้
ู้
้
สร้างเว็บเพจขึ้นมาและพิมพ์ข้อความสาหรับแสดงผลการเพิมข้อมูล บันทึกเป็ นไฟล์
่
Insertok.php
(5) การใช้งานระบบเพิ่ มข้อมูล
่
เริมต้นโดยใช้โปรแกรม Dreamweaver เปิ ดไฟล์ insert.php ขึนมา แล้วกดปุม
่
้
F12 โปรแกรม Internet Explorer จะถูกเปิดขึนมาเรียกใช้งานไฟล์ insert.php หลังจากนัน
้
้
่
ให้ทดลองกรอกข้อมูลและคลิกปุม Insert เพื่อบันทึกข้อมูล เสร็จแล้วรอดูผลทีจะแสดงจาก
่
ไฟล์ insertok.php
64. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 193
ั
บทที่ 11
การสร้างระบบแก้ไขข้อมูล
ระบบแก้ไขข้อมูล คือระบบเว็บเพจที่จดทาขึนเพื่อให้ผใช้สามารถเรียกดูขอมูลเร
ั
้
ู้
้
ั ั
คอร์ดเดิมจากตารางของฐานข้อมูล และผูใช้สามารถแก้ไข ปรับปรุงข้อมูลให้เป็ นปจจุบน
้
หลังจากนันก็สามารถบันทึกข้อมูลทีแก้ไขแล้วลงในตารางของฐานข้อมูลได้
้
่
รูปแสดงไฟล์ทเี่ กียวข้องในระบบแก้ไขข้อมูล
่
ระบบแก้ไขข้อมูลทีจะยกตัวอย่างนี้ ประกอบด้วยไฟล์ 2 ไฟล์ ดังรูป
่
1) update.php ประกอบด้วย ฟอร์มสาหรับแสดงข้อมูลเดิมเพื่อให้ผใช้ปรับปรุง
ู้
แก้ไขข้อมูลและ สคริปต์ PHP สาหรับจัดเก็บข้อมูลที่แก้ไขปรับปรุงแล้วลงตารางของ
ฐานข้อมูล
2) updateok.php สาหรับแสดงข้อความแจ้งผลการแก้ไขปรับปรุงข้อมูล
ขันตอนการสร้างระบบแก้ไขข้อมูลทียกมาอธิบายในทีน้ี แบ่งเป็ นขันตอนดังต่อไปนี้
้
่
่
้
1. การสร้างฟอร์มสาหรับแก้ไขข้อมูล
2. การสร้าง recordset สาหรับค้นหาข้อมูลเรคอร์ดทีตองการแก้ไข
่ ้
3. การแทรกสคริปต์สาหรับแสดงข้อมูลเดิมในฟอร์ม HTML
4. การแทรก Update Record Server Behavior ลงในเว็บเพจ
5. การส่งและรับค่า URL Parameter เพือระบุเรคอร์ดทีตองการแก้ไข
่
่ ้
6. การแสดงผลการแก้ไขข้อมูล
7. การใช้งานระบบแก้ไขข้อมูล
65. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 194
ั
(1) การสร้างฟอร์มสาหรับแก้ไขข้อมูล
ขันตอนแรกนี้ จะเป็ นการแทรกฟอร์มลงไปในเว็บเพจ สาหรับเป็ นแบบฟอร์มเพื่อ
้
ั ั
แสดงผลข้อมูลปจจุบน และผูใช้งานเว็บแอพพลิเคชัน สามารถแก้ไขข้อมูล และบันทึกการ
้
่
แก้ไขลงในฐานข้อมูลได้
ขันตอนการสร้างฟอร์มสาหรับแก้ไขข้อมูล:
้
1. เริมต้นทีโปรแกรม Dreamweaver คลิกเมนู File > New จะปรากฏไดอะล็อก
่
่
่
New Document ขึนมา ให้คลิก PHP หลังจากนันคลิกปุม Create บันทึกเป็ นไฟล์
้
้
update.php
2. แทรกฟอร์ม insert > form และตังชื่อฟอร์ม fmUpdate และสร้างฟอร์มสาหรับ
้
แก้ไขข้อมูลลงในเว็บเพจ โดยให้มขอความและชื่ออ็อบเจ็คต์ของฟอร์มตามที่ระบุในตาราง
ี ้
ดังรูป
TextField ชื่อ name
TextField ชื่อ lastname
TextField ชื่อ gender
TextField ชื่อ born_date
TextField ชื่อ salary
TextField ชื่อ photo
TextField ชื่อ dept_id
TextArea ชื่อ address
รูปแสดงแบบฟอร์มสาหรับแก้ไขข้อมูล
66. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 195
ั
(2) การสร้าง recordset สาหรับค้นหาข้อมูลเรคอร์ดที่ต้องการแก้ไข
ขันตอนนี้ จะเป็ นการค้นหาข้อมูลเรคอร์ดที่ต้องการแก้ไขเพื่อ นาเอามาแสดงใน
้
ั ั
ฟอร์ม เป็ นการแสดงสถานะของข้อมูลปจจุบน ก่อนทีจะมีการแก้ไขปรับปรุงข้อมูล
่
ขันตอนการสร้าง recordset สาหรับค้นหาข้อมูลเรคอร์ดที่ต้องการแก้ไข:
้
่
1. คลิกทีแถบ Server Behaviors หลังจากนันให้คลิกปุมเครื่องหมายบวก และ
่
้
เลือกรายการ Recordset
รูปแสดงการคลิกเลือกเมนู Recordset จาก Server Behaviors
2. เมื่อปรากฏไดอะล็อก Recordset ขึนมา ให้กาหนดค่าต่างๆ ดังรายละเอียด
้
่
ข้างล่างนี้ หลังจากนันคลิกปุม OK
้
ชื่อ record set
เลือก connection คือ
dbconn
เลือกตาราง employee
กรองข้อมูลตาม emp_id
URL ทีสงมากรอง
่่
รูปแสดงไดอะล็อก Recordset
3. บันทึกไฟล์ Update.php
67. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 196
ั
(3) การแสดงข้อมูลเดิ มในฟอร์ม HTML
การแสดงข้อมูลลงในฟอร์ม ก็คอการแทรกสคริปต์สาหรับนาเอาฟิ ลด์จากการสร้าง
ื
Recordset ในขันตอนการค้นหาข้อมูลมาแสดงผลในฟอร์มของเว็บเพจ เพื่อแสดงข้อมูล
้
ั ั
ปจจุบน ก่อนทีจะแก้ไขปรับปรุง โดยวิธการจะคล้ายกับขันตอนการทาระบบแสดงผลข้อมูล
่
ี
้
ในไฟล์ detail.php
ขันตอนการแทรกสคริ ปต์สาหรับแสดงข้อมูลเดิ มในฟอร์ม HTML:
้
1. เปิดไฟล์ update.php คลิกทีแถบ Bindings หลังจากนันให้คลิกเครื่องหมายบวก
่
้
หน้ารายการ Recordset (rsEmp) จะปรากฏชื่อฟิ ลด์ ให้คลิกเลือกและแทรกฟิ ลด์ลง
ในอ็อบเจ็คต์ของฟอร์มเพือแสดงผลข้อมูล ดังรูปด้านล่าง
่
ในส่วนของรูปภาพแก้ไขข้อมูลในส่วนของ Properties ดังนี้
68. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 197
ั
พิมพ์ช่อโฟลเดอร์รปภาพ
ื
ู
2. บันทึกไฟล์ update.php ก็เป็ นอันเสร็จการแสดงผลข้อมูลลงในฟอร์ม
(4) การแทรก Update Record Server Behavior ลงในเว็บเพจ
การแทรก Update Record Server Behavior ก็คอการแทรกสคริปต์ PHP เพื่อสัง่
ื
ให้บนทึกการแก้ไขข้อมูลลงตารางของฐานข้อมูล
ั
ขันตอนการแทรก Update Record Server Behavior ลงในเว็บเพจ:
้
1. เปิ ดไฟล์ update.php หลังจากนันให้คลิกเม้าส์ทตาแหน่ งใดๆ ภายใต้เส้นประสี
้
่ี
แดง ทีเป็ นขอบเขตของฟอร์ม
่
2. คลิกเมนู Insert > Form > Hidden Field หลังจากนันคลิกเม้าส์ทออบเจ็คต์
้
่ี ็
Hidden Field จะปรากฏไดอะล็อก Properties ของ Hidden Field (หากไม่ปรากฏ
ไดอะล็อก Properties ให้คลิกทีเมนู Windows > Properties) และให้กาหนดค่าใน
่
ไดอะล็อก ดังต่อไปนี้
ค่าของไดอะล็อก
ค่าที่กาหนด
HiddenField
key_empid
Value
<?php echo $row_rsEmp[‘emp_id’]; ?>
ตารางแสดงการกาหนด Property ของ Hidden Field "key_empid"
คลิกเพื่อเลือกฟิ ลด์ emp_id
69. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 198
ั
รูปแสดงการกาหนด Property ของ Hidden Field "emp_id"
3. เปิ ดแถบ Server Behaviors โดยคลิกแถบ Server Behaviors แล้วคลิกทีปุม
่ ่
เครื่องหมายบวก เลือกรายการ Update Record จากเมนู
ตารางแสดง Update Record Server Behaviors
4. เมื่อปรากฏไดอะล็อก Update Record ให้กาหนดค่าต่างๆ มีดงต่อไปนี้
ั
รูปแสดงการกาหนดค่าต่างๆ ในไดอะล็อก Update Record
ค่าของไดอะล็อก
Submit Values From fmUpdate
Connection
Dbconn
Update Table
Employee
ค่าที่กาหนด
70. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 199
ั
Columns
จับคูฟิลด์ของฐานข้อมูลกับอ็อบเจ็คต์ของฟอร์มดังต่อไปนี้
่
emp_id -> FORM.emp_id
name -> FORM.name
lastname -> FORM.lastname
gender –> FORM.gender
salary -> FORM.salary
dept_id -> FORM.dept_id
address -> FORM.address
photo -> FORM.photo
updateok.php
After Updating, Go
To
ตารางแสดงการกาหนดค่าต่างๆ ในไดอะล็อก Update Record
6. บันทึกไฟล์ update.php ก็เป็ นอันเสร็จขันตอนการแทรก Update Record
้
Server behavior
(5) การส่งและรับค่า URL Parameter เพื่อระบุเรคอร์ดที่ต้องการแก้ไข
ขันตอนนี้ ก็คอการทาให้ไฟล์เว็บเพจ 2 ไฟล์ list.php และ update.php สามารถ
้
ื
เชื่อมโยงเพือส่งและรับค่า URL Parameter กันได้นนเอง
่
ั่
ขันตอนการส่งและรับค่า URL Parameter เพื่อระบุเรคอร์ดที่ต้องการแก้ไข:
้
1. เริมต้นทีโปรแกรม Dreamweaver เปิ ดไฟล์ list.php ขึนมา แล้วลากเม้าส์ทา
่
่
้
ไฮไลต์ขอความ "แก้ไข" ดังรูป
้
รูปแสดงการไฮไลต์ขอความ "แก้ไข"
้