SlideShare a Scribd company logo
1 of 81
Download to read offline
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 130
ั

บทที่ 6
Dreamweaver กับการติดต่อฐานข้อมูล
เราได้ผานขันตอนการกาหนดเว็บไซต์สาหรับ PHP มาแล้ว แต่หากเราต้องการ
่ ้
พัฒนา PHP แอพพลิเคชันทีมการเรียกใช้ฐานข้อมูล ก็ตองสร้างการติดต่อกับฐานข้อมูลซะ
่ ่ ี
้
ก่อน เนื้อหาในบทนี้จะกล่าวถึงการกาหนดให้ Dreamweaver ติดต่อกับฐานข้อมูล
หลังจากนันเราจะเริมการพัฒนา PHP เว็บเพจทีสามารถเรียกใช้ขอมูลจากระบบฐานข้อมูล
้
่
่
้
มาแสดงผลบนเว็บเพจ

สร้างฐานข้อมูล
หากเราต้องการพัฒนา PHP แอพพลิเคชันทีมการเรียกใช้ฐานข้อมูล ก็ตองมีการ
่ ่ ี
้
สร้างฐานข้อมูลซะก่อน ขันตอนนี้จะเป็ นการสร้างฐานข้อมูลตัวอย่างจากไฟล์ตนแบบ
้
้
ขันตอนการสร้างฐานข้อมูล:
้
1. เปิด Internet Explorer ไปที่ URL http://localhost หลังจากนันคลิกเข้าใช้งาน
้
โปรแกรม phpMyAdmin ดังรูป

รูปแสดงการเปิด Internet Explorer ไปที่ URL http://localhost
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 131
ั
2. ใส่ช่อผูใช้ (User name) และรหัสผ่าน (password) ซึงมาจากขันตอนการติดตัง
ื ้
่
้
้
AppServe

User name : root
Password : root
3. สร้างฐานข้อมูลใหม่ช่อ "human" โดยระบุช่อในช่อง สร้างฐานข้อมูลใหม่ ดังรูป
ื
ื

ตังชื่อฐานข้ อมูล
้

รูปแสดงการสร้างฐานข้อมูลใหม่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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,

หมายเหตุ
รหัสพนักงาน
ชื่อพนักงาน
นามสกุล
เพศ
วันเดือนปีเกิด
เงินเดือน
รหัสแผนก
ทีอยู่
่
ไฟล์รปภาพ
ู
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 เว็บเพจทีสามารถเรียกใช้ขอมูลจากระบบฐานข้อมูลได้นนเอง
่ ่
ั
่
้
ั่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
ดังรูปด้านล่าง
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 135
ั

รูปแสดงเมนู MySQL Connection สาหรับสร้างการติดต่อกับฐานข้อมูล

2. กรอกข้อมูลสร้างการติดต่อฐานข้อมูล (Database Connection) ดังรายละเอียด
ต่อไปนี้
Connection Name: dbconn
MySQL Server: localhost
Username: root (หรือตามทีกาหนด)
่
Password: ช่องว่าง (หรือตามทีกาหนด)
่
Database: human

รูปแสดงไดอะล็อก MySQL Connection สาหรับสร้างการติดต่อกับฐานข้อมูล
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 136
ั
่
จากนันกดปุม OK และกลับมาทีหน้า MySQL Connection
้
่

่
3. คลิกปุม
เพื่อทดสอบการติดต่อฐานข้อมูล หากการติดต่อฐานข้อมูล
่
สาเร็จ จะปรากฏข้อความ Connection was made successfully แสดงขึนมา ให้คลิกปุม
้
OK ออกไป

4. ที่ Databases Panel จะปรากฏรายการติดต่อฐานข้อมูลชื่อ dbconn แสดงให้
เห็น ดังรูป ก็แสดงว่าสามารถติดต่อฐานข้อมูลสาเร็จแล้ว
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 137
ั

รูปแสดง Databases panel หลังจากติดต่อกับฐานข้อมูลแล้ว
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 ดังรูป
่ ่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 139
ั

รูปที่ 4 แสดงไดอะล็อก Manage Sites

4. ปรากฎไดอะล็อก ดังรูป คลิกที่ Site เพื่อกาหนดชื่อ Site และโฟลเดอร์ของงาน
ตัวอย่างนี้กาหนดชื่อไซต์ (Site Name) เป็ น PERSON และโฟลเดอร์ท่เก็บโปรแกรม
ี
C:AppServwwwPERSON ดังต่อไปนี้

ชื่อโฟลเดอร์ หลัก (ชื่อไซต์)

ที่อยูของไซต์หลัก
่

Site name: PERSON
(ชื่อเว็บแอพพลิเคชันทีเรากาหนดเอง)
่ ่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 140
ั
Local root folder: C:AppServwwwperson
(การกาหนดไดเร็คทอรีทใช้บนทึกซอร์สโค้ดทีเราพัฒนาขึนบนเครื่องเราเอง (local) )
่ ่ี ั
่
้
5. คลิกทีเมนู Advanced Setting จะปรากฏดังรูป
่

ในทีน้ีเลือก Local Info เพือกาหนดโฟลเดอร์ของรูปภาพ และ URL
่
่

Default Images folder: ตาแหน่งของไฟล์รปภาพ
ู
Web URL: http://localhost/PERSON/
(URL สาหรับใช้งานเว็บแอพพลิเคชันทีเราพัฒนาบนเครื่องเราเอง (local) )
่ ่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 141
ั
6. คลิกทีเมนู Server เพื่อกาหนดเซิรฟเวอร์
่
์

คลิกทีเครืองหมาย
่ ่

เพื่อเพิมเซิรฟเวอร์ จะปรากฏดังรูป
่ ์

Server Name : localhost
(การกาหนดวิธการติดต่อกับเว็บเซิรฟเวอร์ทใช้ทดสอบเว็บเพจ เลือกกาหนดเป็ นค่า None
ี
์
่ี
FTP หรือ Local/Network)
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 142
ั
- คลิ กที่แท็บ Advanced เพือกาหนด Server Model
่

Server Model: PHP MySQL
(การกาหนดให้ Dreamweaver รูวาเราจะใช้ภาษาคอมพิวเตอร์ใด ในการพัฒนา
้่
เว็บแอพพลิเคชันนัน เช่น PHP MySQL หรือ ASP VBSCRIPT)
่ ้
่
จากนันกดปุม Save และกลับมาทีหน้าต่าง Server
้
่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 143
ั
่
จากนันกดปุม Save อีกครัง จะกลับมายังหน้า Manage Site ดังรูป ซึ่งจะมีไซต์ท่ี
้
้
เราสร้างขึนปรากฏอยู่ ให้คลิกปุ่ม Done เป็ นอันเสร็จสินในการกาหนดไซต์ และสังเกตที่
้
้
่
Site Panel จะปรากฏชื่อไซต์ PERSON จากนันคลิกปุม DONE ทีพร้อมจะใช้งาน
้
่

7. Dreamweaver ก็พร้อมสาหรับการเริมต้นใช้งาน เพื่อพัฒนาเว็บแอพพลิเคชัน
่
่
PERSON ในการเรียกใช้งานครังต่อไป Dreamweaver จะเปิ ดมาทีเว็บไซต์ทมการเปิ ดใช้
้
่
่ี ี
งานล่าสุดเสมอ
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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. การแบ่งหน้าแสดงผล
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 146
ั
(2) การแทรก Recordset (Query) เพื่อเรียกใช้ตารางและฟิ ลด์ในฐานข้อมูล
การแทรก Recordset (Query) คือ ขันตอนการแทรกสคริปต์ PHP สาหรับการ
้
สร้างเรคอร์ดเซ็ต เพื่อนาข้อมูลจากเรคอร์ดเซ็ต มาแสดงบนเว็บเพจ ซึ่งจะกล่าวถึงใน
ขันตอนต่อไป
้
ขันตอน:
้
1. คลิกทีแถบ Bindings หลังจากนันให้คลิกเครื่องหมาย
่
้
บวกเลื อ กเมนู
Recordset (Query)
2. เมื่อปรากฏไดอะล็อก Recordset ขึนมา ให้กาหนดค่าต่างๆ ดังรายละเอียด
้
ข้างล่างนี้ หลังจากนันให้บนทึกไฟล์ list.php
้
ั

รูปแสดงการเลือกเมนู
Recordset (Query)
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 147
ั
ตังชื่อ record set คือ rsEmp
้
เลือกการเชื่อมต่อทีสร้างไว้
่
คือdbconn
เลือกตารางทีใช้ คือ
่
employee
การเรียงข้อมูลตาม name
จากน้อยไปมาก

รูปแสดงการกาหนดค่าไดอะล็อก Recordset
(3) นาฟิ ลด์แต่ละฟิ ลด์มาวางลงในตาราง
การนาฟิ ลด์แต่ละฟิ ลด์มาวางลงในตารางของไฟล์ list.php ทีออกแบบไว้แล้ว มา
่
แสดงผลข้อมูลในเว็บเพจ
ขันตอน:
้
1. คลิกไปทีแถบ Bindings หลังจากนันให้คลิกเครื่องหมายบวก
่
้
หน้ารายการ
Recordset (rsEmp) จะปรากฏชื่อฟิ ลด์ของตาราง employee ในฐานข้อมูล ให้คลิกเลือก
และแทรกฟิลด์ลงเว็บเพจ เพือแสดงผลข้อมูล ตามขันตอน ดังรูปด้านล่าง
่
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 148
ั
คอลัมน์ของตาราง

ฟิ ลด์ของ Recordset (rsEmp)

ชื่อ-นามสกุล

name, lastname

แผนก

dept_id

เงินเดือน

Salary

ตารางแสดงการเลือกฟิลด์จากเรคอร์ดเซ็ตวางลงในเว็บเพจ

(1) คลิกเม้าส์ตาแหน่งของข้อมูลทีตองการแสดง
่ ้

(2) คลิกเลือกฟิลด์ทตองการ
่ี ้

่
(3) คลิกปุม Insert

รูปแสดงการเลือกฟิลด์จากเรคอร์ดเซ็ตวางลงในเว็บเพจ
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 149
ั
ส่วนข้อมูลอื่น ๆ ทาเช่นเดียวกัน

2. บันทึกไฟล์ list.php
่
3. สามารถทดสอบดูผลการทางานได้ โดยกดปุม F12 จากหน้าจอ Dreamweaver
โดยจะแสดงข้อมูลเพียง 1 เรคอร์ดเท่านัน
้
(4) การแสดงผลมากกว่า 1 เรคอร์ด โดยใช้ Repeat Region
ในขันตอนทีแล้ว หากลองทดสอบการทางานของเว็บเพจ จะเป็ นว่ามีการแสดงผล
้
่
ข้อมูลออกมาจานวน 1 เรคอร์ด ซึงทีจริงแล้ว ข้อมูลอาจจะมีมากกว่า 1 เรคอร์ดก็ได้ ดังนัน
่ ่
้
ในขันตอนนี้ จะเป็ นการกาหนดให้เว็บเพจแสดงผลวนซ้าจนกว่าจะครบทุกเรคอร์ด
้
ขันตอน:
้
1. เริมต้นทีหน้าจอ Dreamweaver เปิ ดไฟล์ list.php ให้คลิกเลือกบริเวณที่
่
่
ต้องการแสดงผลข้อมูลวนซ้า คือบรรทัดที่ 2 ของตาราง เพื่อให้ตาแหน่ งของเคอร์เซอร์อยู่
ภายในบริเวณบรรทัดทีแสดงผล หลังจากนันให้คลิกเลือกแท็ก <TR> บน Tag Selector
่
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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)); ?>
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 153
ั
<? } // Show if recordset not empty ?>
<? mysql_close(); //ปิดฐานข้อมูล
?>

(5) การแสดงผลข้อมูลแบบแบ่งหน้ า
จากการแสดงผลในขันตอนทีผานมา ถ้ามีเรคอร์ดจานวนมาก ก็จะแสดงจนหมด
้
่ ่
ดังนันหากต้องการดูขอมูลเรคอร์ดแรก ๆ ไม่สามารถหยุดดูได้ จึงต้องมีการแบ่งหน้าเพือ
้
้
่
แสดงผลทีละหน้า ไม่ มีขนตอนใหญ่ ๆ ดังนี้
ั้
1. การกาหนดจานวนเรคอร์ดสาหรับแสดงผลต่อ 1 หน้า
2. การสร้างลิงค์สาหรับคลิกแสดงผลทีละ 1 หน้า
3. การใช้งานระบบแสดงผลข้อมูลแบบแบ่งหน้า
5.1 การกาหนดจานวนเรคอร์ดแสดงผลต่อ 1 หน้ า
ในขันตอนนี้ จะเป็ นการกาหนดให้เว็บเพจแสดงผลวนซ้าจนกว่าจะครบจานวนเร
้
คอร์ดต่อ 1 หน้าทีระบุ
่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 หน้า
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 155
ั
3. บันทึกไฟล์ list.php และทดสอบโปรแกรมโดยการกด F12 พบว่าแสดงเฉพาะ
10 เรคอร์ดแรกเท่านัน เรคอร์ดถัดไปจะไม่แสดงผล
้

5.2 การนับจานวนเรคอร์ด และการแบ่งหน้ าแสดงผล
ในขันตอนการกาหนดจานวนเรคอร์ดแสดงผลต่อ 1 หน้า ทีผานมา จะเห็นว่าเราได้
้
่ ่
กาหนดให้แสดงผลข้อมูลครังละ 10 เรคอร์ด ดังนัน หากลองทดสอบการทางานไฟล์
้
้
list.php จะพบว่ามีขอมูลทีแสดงผลเพียง 10 เรคอร์ดเท่านัน ซึ่งในความเป็ นจริงอาจจะมี
้
่
้
มากกว่านันก็ได้ ในส่วนนี้กจะเป็ นการสร้างลิงค์สาหรับคลิกกลับไป-มาทีละ 10 เรคอร์ด
้
็
หรือแล้วแต่จานวนทีเรากาหนดในขันตอนการแสดงผลซ้านันเอง
่
้
่
ขันตอน:
้
1. เปิดไฟล์ list.php
2. คลิกเม้าส์เพือวางเคอร์เซอร์ทตาแหน่งด้านล่างถัดจากตารางแสดงผล
่
่ี
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 เรคอร์ด
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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);
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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>
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
ู
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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

รูปแสดงแบบตารางสาหรับแสดงผลข้อมูล
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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) จะปรากฏชื่อฟิ ลด์ ให้คลิกเลือกและแทรกฟิ ลด์ลงเว็บ
เพจ เพือแสดงผลข้อมูล
่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 163
ั

6. สาหรับฟิ ลด์ photo ซึ่งเก็บชื่อไฟล์รูปภาพพนักงาน เช่น Amit_Kelly.jpg เรา
ต้องการให้แสดงในลักษณะรูปภาพ โดยให้เอาไฟล์รูปภาพ photosAmit_Kelly.jpg มา
แสดงบนเว็บเพจ ให้คลิกทีเมนู Insert > Image จะปรากฏไดอะล็อก Select Image
่
่
Source ให้กาหนดค่าต่างๆ ดังตารางด้านล่าง หลังจากนันให้คลิกปุม OK
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 164
ั

7. บันทึกไฟล์ detail.php
6.2 การส่งและรับค่า URL Parameter เพื่อระบุเรคอร์ดที่ต้องการแสดงผล
ขันตอนนี้ ก็คอการทาให้ไฟล์เว็บเพจ 2 ไฟล์ list.php และ detail.php สามารถ
้
ื
เชื่อมโยงเพือส่งและรับค่า URL Parameter กันได้นนเอง
่
ั่
ขันตอนการส่งและรับค่า URL Parameter เพื่อระบุเรคอร์ดที่ต้องการ
้
แสดงผล
1. เริมต้นที่โปรแกรม Dreamweaver เปิ ดไฟล์ list.php ขึนมา แล้วลากเม้าส์ทา
่
้
ไฮไลต์ตาแหน่งแสดงผลฟิลด์ name และ lastname ดังรูป
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 ให้ทดสอบคลิกที่
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 166
ั
ข้อมูล ชื่อ-นามสกุลของพนักงานแต่ละคน จะปรากฏหน้าเว็บเพจแสดงรายละเอียดประวัติ
ข้อมูลพนักงานทีละคน

เริมจากการเรียกใช้โปรแกรม list.php
่
หลังจากนันคลิกทีช่อ จะเรียกโปรแกรม detail.php ขึนมาแสดง
้
่ ื
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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>
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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>
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 สาหรับรับค่าคาค้น
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 ของฟอร์ม
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 ขึนมา ให้กาหนดค่าของตัวแปรต่างๆ ดังรายละเอียดต่อไปนี้
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 174
ั
ค่าของไดอะล็อก
Name
Connection
Table
Columns
Filter

Sort

ค่าที่กาหนด
rsEmp
dbconn
employee
ช่องที่ 1: name หมายถึงให้คนหาจากฟิ ลด์ name
้
ช่องที่ 2: contains หมายถึงให้คนหาแบบ
้
ประกอบด้วย (LIKE)
ช่องที่ 3: URL Parameter หมายถึง รับค่าคาค้น
จาก URL Parameter
(ส่งมาจากฟอร์มที่ METHOD="GET")
ช่องที่ 4: keywords หมายถึง คาค้นถูกส่งมาเป็ น
URL Parameter ชื่อ keywords
name , Ascending หมายถึง เรียงลาดับตาม
name น้อยไปหามาก
name , Ascending หมายถึง เรียงลาดับตาม
name น้อยไปหามาก
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
้
่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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">
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 สาหรับค้นหาหลายเงือนไข
่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 178
ั

 ดับเบิลคลิก

หลังจากทีกดปุม Advanced จะปรากฏหน้าต่าง Recordset
่ ่

รูปแสดงไดอะล็อก Recordset ในโหมด Advanced

่
 คลิกปุม
Advanced
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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) มาแสดงผลและเพิมเงื่อนไข ให้คนหา
ื
่
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 มา
่
่
รวมอยู่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 181
ั
6.2 จากนันคลิกทีชองแสดงแผนก และใช้เม้าส์คลิกทีฟิลด์ deptname ใน reEmp
้
่ ่
่
่
และกดปุม insert หรือลากไปวางในช่องดังกล่าว

6.3 ให้ทาการบันทึก resultadv.php
6.4 ทดสอบโปรแกรม โดยเปิดไฟล์ searchadv.php
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 182
ั

หน้าจอแสดงผลการค้นหา
ซึงจะเห็นว่าจะแตกต่างจากโปรแกรม list.php คือ ช่องแสดงแผนก จะแสดงชื่อ
่
แผนก ไม่ใช่แสดงรหัสแผนกเหมือนโปรแกรม list.php
(5) การใช้งานระบบค้นหาข้อมูลแบบหลายเงื่อนไข (Advanced)
เริมต้นโดยใช้โปรแกรม Dreamweaver เปิ ดไฟล์ searchadv.php ขึนมา แล้วกด
่
้
่
ปุม F12 โปรแกรม Internet Explorer จะถูกเปิ ดขึนมาเรียกใช้งานไฟล์ searchadv.php
้
่
หลังจากนันให้พมพ์คาค้น และคลิกปุม Search เพือค้นหาข้อมูล
้
ิ
่
โดยให้ทดสอบพิมพ์คาค้นทีตรงกับค่าในฟิ ลด์ emp_id name lastname และ
่
dept_id ทีละเงือนไขแล้วสังเกตผลลัพธ์วาถูกต้องหรือไม่
่
่
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
รูปแสดงแบบฟอร์มกรอกข้อมูล
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 ซึงรายละเอียดการกาหนดค่าต่างๆ มีดงต่อไปนี้
่
ั
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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

และเลือกรายการ
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 ดังรูปด้านล่าง
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 190
ั




รูปแสดงไดอะล็อก Dynamic List/Menu ของระบบแก้ไขข้อมูล
(4) การสร้างเว็บเพจแสดงผลลัพธ์การเพิ่ มข้อมูล
ขันตอนสุดท้ายของระบบเพิมข้อมูลคือ การสร้างไฟล์แสดงผลการทางาน ซึ่งจะ
้
่
ประกอบด้วยข้อความ แสดงให้ผใช้ทราบว่าการกรอกข้อมูลเสร็จเรียบร้อยแล้วเท่านัน ให้
ู้
้
สร้างเว็บเพจขึ้นมาและพิมพ์ข้อความสาหรับแสดงผลการเพิมข้อมูล บันทึกเป็ นไฟล์
่
Insertok.php
(5) การใช้งานระบบเพิ่ มข้อมูล
่
เริมต้นโดยใช้โปรแกรม Dreamweaver เปิ ดไฟล์ insert.php ขึนมา แล้วกดปุม
่
้
F12 โปรแกรม Internet Explorer จะถูกเปิดขึนมาเรียกใช้งานไฟล์ insert.php หลังจากนัน
้
้
่
ให้ทดลองกรอกข้อมูลและคลิกปุม Insert เพื่อบันทึกข้อมูล เสร็จแล้วรอดูผลทีจะแสดงจาก
่
ไฟล์ insertok.php
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 191
ั
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 192
ั
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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. การใช้งานระบบแก้ไขข้อมูล
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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

รูปแสดงแบบฟอร์มสาหรับแก้ไขข้อมูล
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 196
ั
(3) การแสดงข้อมูลเดิ มในฟอร์ม HTML
การแสดงข้อมูลลงในฟอร์ม ก็คอการแทรกสคริปต์สาหรับนาเอาฟิ ลด์จากการสร้าง
ื
Recordset ในขันตอนการค้นหาข้อมูลมาแสดงผลในฟอร์มของเว็บเพจ เพื่อแสดงข้อมูล
้
ั ั
ปจจุบน ก่อนทีจะแก้ไขปรับปรุง โดยวิธการจะคล้ายกับขันตอนการทาระบบแสดงผลข้อมูล
่
ี
้
ในไฟล์ detail.php
ขันตอนการแทรกสคริ ปต์สาหรับแสดงข้อมูลเดิ มในฟอร์ม HTML:
้
1. เปิดไฟล์ update.php คลิกทีแถบ Bindings หลังจากนันให้คลิกเครื่องหมายบวก
่
้
หน้ารายการ Recordset (rsEmp) จะปรากฏชื่อฟิ ลด์ ให้คลิกเลือกและแทรกฟิ ลด์ลง
ในอ็อบเจ็คต์ของฟอร์มเพือแสดงผลข้อมูล ดังรูปด้านล่าง
่

ในส่วนของรูปภาพแก้ไขข้อมูลในส่วนของ Properties ดังนี้
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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

ค่าที่กาหนด
เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 ขึนมา แล้วลากเม้าส์ทา
่
่
้
ไฮไลต์ขอความ "แก้ไข" ดังรูป
้

รูปแสดงการไฮไลต์ขอความ "แก้ไข"
้
Doc2
Doc2
Doc2
Doc2
Doc2
Doc2
Doc2
Doc2
Doc2
Doc2
Doc2

More Related Content

What's hot

คู่มือการติดตั้ง Wordpress บน AppServ
คู่มือการติดตั้ง Wordpress บน AppServ คู่มือการติดตั้ง Wordpress บน AppServ
คู่มือการติดตั้ง Wordpress บน AppServ Cupid Eros
 
Joomla คืออะไร
Joomla คืออะไรJoomla คืออะไร
Joomla คืออะไรkrudaojar
 
คู่มือ Joomla
คู่มือ Joomlaคู่มือ Joomla
คู่มือ JoomlaJatupon Panjoi
 
WordPress Theme Development Short Manual
WordPress Theme Development Short ManualWordPress Theme Development Short Manual
WordPress Theme Development Short ManualSitdhibong Laokok
 
Dream weaver cs3
Dream weaver cs3Dream weaver cs3
Dream weaver cs3first351
 
Joomla 3.4 Workshop by Marvelic Engine
Joomla 3.4 Workshop by Marvelic EngineJoomla 3.4 Workshop by Marvelic Engine
Joomla 3.4 Workshop by Marvelic EngineAkarawuth Tamrareang
 
คู่มือ อบรม Joomla! 3.x
คู่มือ อบรม Joomla! 3.xคู่มือ อบรม Joomla! 3.x
คู่มือ อบรม Joomla! 3.xPisan Chueachatchai
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05Jenchoke Tachagomain
 
คู่มือการใช้งานระบบ E commerce
คู่มือการใช้งานระบบ E commerceคู่มือการใช้งานระบบ E commerce
คู่มือการใช้งานระบบ E commercePhranakornsoft
 

What's hot (20)

Joomla2 5
Joomla2 5Joomla2 5
Joomla2 5
 
Build Website with Joomla! 3.3
Build Website with Joomla! 3.3Build Website with Joomla! 3.3
Build Website with Joomla! 3.3
 
คู่มือการติดตั้ง Wordpress บน AppServ
คู่มือการติดตั้ง Wordpress บน AppServ คู่มือการติดตั้ง Wordpress บน AppServ
คู่มือการติดตั้ง Wordpress บน AppServ
 
Joomla คืออะไร
Joomla คืออะไรJoomla คืออะไร
Joomla คืออะไร
 
คู่มือ Joomla
คู่มือ Joomlaคู่มือ Joomla
คู่มือ Joomla
 
20110201 drupal-ir
20110201 drupal-ir20110201 drupal-ir
20110201 drupal-ir
 
WordPress Theme Development Short Manual
WordPress Theme Development Short ManualWordPress Theme Development Short Manual
WordPress Theme Development Short Manual
 
Dream weaver cs3
Dream weaver cs3Dream weaver cs3
Dream weaver cs3
 
Joomla 3.4 Workshop by Marvelic Engine
Joomla 3.4 Workshop by Marvelic EngineJoomla 3.4 Workshop by Marvelic Engine
Joomla 3.4 Workshop by Marvelic Engine
 
Php training
Php trainingPhp training
Php training
 
Joomla 3.2 workshop at PIM.ac.th
Joomla 3.2 workshop at PIM.ac.thJoomla 3.2 workshop at PIM.ac.th
Joomla 3.2 workshop at PIM.ac.th
 
joomla-2-5-install-appserv
joomla-2-5-install-appservjoomla-2-5-install-appserv
joomla-2-5-install-appserv
 
คู่มือ อบรม Joomla! 3.x
คู่มือ อบรม Joomla! 3.xคู่มือ อบรม Joomla! 3.x
คู่มือ อบรม Joomla! 3.x
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
คู่มื่อการสร้าง Blog โดย WordPress
คู่มื่อการสร้าง Blog โดย WordPressคู่มื่อการสร้าง Blog โดย WordPress
คู่มื่อการสร้าง Blog โดย WordPress
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
 
Wordpress 3.5 -install-appserv
Wordpress 3.5 -install-appservWordpress 3.5 -install-appserv
Wordpress 3.5 -install-appserv
 
คู่มือการใช้งานระบบ E commerce
คู่มือการใช้งานระบบ E commerceคู่มือการใช้งานระบบ E commerce
คู่มือการใช้งานระบบ E commerce
 
PHP & Dreamweaver ch03
PHP & Dreamweaver  ch03 PHP & Dreamweaver  ch03
PHP & Dreamweaver ch03
 
Ch07
Ch07Ch07
Ch07
 

Similar to Doc2

HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่
HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่
HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่Manop Kongoon
 
Wordpress
WordpressWordpress
Wordpresssep27th
 
คู่มือ Dream cs3
คู่มือ Dream cs3คู่มือ Dream cs3
คู่มือ Dream cs3Natda Wanatda
 
รายงาน window
รายงาน windowรายงาน window
รายงาน windowNooLuck
 
คู่มือประกอบการสร้างเว็บไซต์ Dream
คู่มือประกอบการสร้างเว็บไซต์  Dreamคู่มือประกอบการสร้างเว็บไซต์  Dream
คู่มือประกอบการสร้างเว็บไซต์ Dreamsommat
 
Php dreamwaver
Php dreamwaverPhp dreamwaver
Php dreamwaverphochai
 
Webpagemaker2
Webpagemaker2Webpagemaker2
Webpagemaker2beauten
 
Webpagemaker2
Webpagemaker2Webpagemaker2
Webpagemaker2beauten
 
Joomla-installation
Joomla-installationJoomla-installation
Joomla-installationSo Pias
 
งานครูปลาม์
งานครูปลาม์งานครูปลาม์
งานครูปลาม์0908067327
 
การติดตั้ง appserv และ การติดตั้ง wordpress บน appserv
การติดตั้ง appserv และ การติดตั้ง wordpress บน appservการติดตั้ง appserv และ การติดตั้ง wordpress บน appserv
การติดตั้ง appserv และ การติดตั้ง wordpress บน appservChahoemsid Hutacharoen
 
Dreamweaver แนะโปรแกรมและวิธีใช้
Dreamweaver แนะโปรแกรมและวิธีใช้Dreamweaver แนะโปรแกรมและวิธีใช้
Dreamweaver แนะโปรแกรมและวิธีใช้Webidea Petchtharat
 
การเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บการเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บKhon Kaen University
 

Similar to Doc2 (20)

HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่
HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่
HTML PHP MySQL สำหรับเว็บโปรแกรมเมอร์มือใหม่
 
Joomla 56 km
Joomla 56 kmJoomla 56 km
Joomla 56 km
 
Wordpress
WordpressWordpress
Wordpress
 
20131116 wordpress-xampp
20131116 wordpress-xampp20131116 wordpress-xampp
20131116 wordpress-xampp
 
Joomla
JoomlaJoomla
Joomla
 
Php พื้นฐาน ตอนที่3
Php พื้นฐาน ตอนที่3Php พื้นฐาน ตอนที่3
Php พื้นฐาน ตอนที่3
 
คู่มือ Dream cs3
คู่มือ Dream cs3คู่มือ Dream cs3
คู่มือ Dream cs3
 
รายงาน window
รายงาน windowรายงาน window
รายงาน window
 
คู่มือประกอบการสร้างเว็บไซต์ Dream
คู่มือประกอบการสร้างเว็บไซต์  Dreamคู่มือประกอบการสร้างเว็บไซต์  Dream
คู่มือประกอบการสร้างเว็บไซต์ Dream
 
Php dreamwaver
Php dreamwaverPhp dreamwaver
Php dreamwaver
 
Blog : Wordpress
Blog : WordpressBlog : Wordpress
Blog : Wordpress
 
Webpagemaker2
Webpagemaker2Webpagemaker2
Webpagemaker2
 
Webpagemaker2
Webpagemaker2Webpagemaker2
Webpagemaker2
 
Joomla-installation
Joomla-installationJoomla-installation
Joomla-installation
 
20121102 joomla2-5
20121102 joomla2-520121102 joomla2-5
20121102 joomla2-5
 
งานครูปลาม์
งานครูปลาม์งานครูปลาม์
งานครูปลาม์
 
การติดตั้ง appserv และ การติดตั้ง wordpress บน appserv
การติดตั้ง appserv และ การติดตั้ง wordpress บน appservการติดตั้ง appserv และ การติดตั้ง wordpress บน appserv
การติดตั้ง appserv และ การติดตั้ง wordpress บน appserv
 
Dreamweaver แนะโปรแกรมและวิธีใช้
Dreamweaver แนะโปรแกรมและวิธีใช้Dreamweaver แนะโปรแกรมและวิธีใช้
Dreamweaver แนะโปรแกรมและวิธีใช้
 
Php
PhpPhp
Php
 
การเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บการเขียนโปรแกรมบนเว็บ
การเขียนโปรแกรมบนเว็บ
 

More from phochai

โครงการค่ายคุณธรรม
โครงการค่ายคุณธรรมโครงการค่ายคุณธรรม
โครงการค่ายคุณธรรมphochai
 
ค่ายคุณธรรม
ค่ายคุณธรรมค่ายคุณธรรม
ค่ายคุณธรรมphochai
 
Phptraining
PhptrainingPhptraining
Phptrainingphochai
 
Book sru
Book sruBook sru
Book sruphochai
 
Phptraining
PhptrainingPhptraining
Phptrainingphochai
 
Dream mx
Dream mxDream mx
Dream mxphochai
 

More from phochai (7)

โครงการค่ายคุณธรรม
โครงการค่ายคุณธรรมโครงการค่ายคุณธรรม
โครงการค่ายคุณธรรม
 
ค่ายคุณธรรม
ค่ายคุณธรรมค่ายคุณธรรม
ค่ายคุณธรรม
 
Phptraining
PhptrainingPhptraining
Phptraining
 
Book sru
Book sruBook sru
Book sru
 
Phptraining
PhptrainingPhptraining
Phptraining
 
Dream mx
Dream mxDream mx
Dream mx
 
Doc1
Doc1Doc1
Doc1
 

Doc2

  • 1. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 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 แสดงให้ เห็น ดังรูป ก็แสดงว่าสามารถติดต่อฐานข้อมูลสาเร็จแล้ว
  • 8. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 137 ั รูปแสดง Databases panel หลังจากติดต่อกับฐานข้อมูลแล้ว
  • 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 ให้ทดสอบคลิกที่ ้
  • 37. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 166 ั ข้อมูล ชื่อ-นามสกุลของพนักงานแต่ละคน จะปรากฏหน้าเว็บเพจแสดงรายละเอียดประวัติ ข้อมูลพนักงานทีละคน เริมจากการเรียกใช้โปรแกรม list.php ่ หลังจากนันคลิกทีช่อ จะเรียกโปรแกรม detail.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 ขึนมา ให้กาหนดค่าของตัวแปรต่างๆ ดังรายละเอียดต่อไปนี้ ้
  • 45. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 174 ั ค่าของไดอะล็อก Name Connection Table Columns Filter Sort ค่าที่กาหนด rsEmp dbconn employee ช่องที่ 1: name หมายถึงให้คนหาจากฟิ ลด์ name ้ ช่องที่ 2: contains หมายถึงให้คนหาแบบ ้ ประกอบด้วย (LIKE) ช่องที่ 3: URL Parameter หมายถึง รับค่าคาค้น จาก URL Parameter (ส่งมาจากฟอร์มที่ METHOD="GET") ช่องที่ 4: keywords หมายถึง คาค้นถูกส่งมาเป็ น URL Parameter ชื่อ keywords name , Ascending หมายถึง เรียงลาดับตาม name น้อยไปหามาก name , Ascending หมายถึง เรียงลาดับตาม name น้อยไปหามาก
  • 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 สาหรับค้นหาหลายเงือนไข ่
  • 49. เอกสารฝึกปฏิบติ การเขียนโปรแกรมบนเว็บ 178 ั  ดับเบิลคลิก หลังจากทีกดปุม Advanced จะปรากฏหน้าต่าง Recordset ่ ่ รูปแสดงไดอะล็อก Recordset ในโหมด Advanced ่  คลิกปุม Advanced
  • 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 ขึนมา แล้วลากเม้าส์ทา ่ ่ ้ ไฮไลต์ขอความ "แก้ไข" ดังรูป ้ รูปแสดงการไฮไลต์ขอความ "แก้ไข" ้