วันศุกร์ที่ 18 มีนาคม พ.ศ. 2559

ลองทดสอบเฟรมเวิร์ค bootstrap และ database class สำหรับใช้งาน php

การทดสอบเฟรมเวิร์คสำหรับใช้งานติดต่อกับโปรแกรมฐานข้อมูล Mysql ด้วยโปรแกรม PHP ในวันนี้ก็เพื่อที่จะทำให้สามารถบริหารจัดการข้อมูล select, insert, delete และ update ทำได้โดยง่ายที่สำคัญเป็นแบบออปเจค(oop) ป้องแฮกเกอร์โจมตีแบบสคริปได้เป็นอย่างดี

ส่วนเฟรมเวิร์ค bootstrap จะเป็นส่วนจัดการ css สำหรับการแสดงผลบนหน้าเวบเพจได้ทั้งแบบเดสท็อปและบนอุปกรณ์มือถือ นำไปต่อยอดพัฒนาในอนาคตได้เป็นอย่างดี ในครั้งนี้ผู้เขียนจะได้แนะนำคลาส crud สำหรับใช้ในการบริหารจัดการโปรแกรมฐานข้อมูลรวมถึงการเชื่อมต่อกับเฟรมเวิร์ค bootstrap ด้วย

ลองไปรู้จักคลาส crud กันก่อนประกอบไปด้วยฟังก์ชั่นต่อไปนี้

function __construct($DB_con) เป็นข้อกำหนดเริ่มต้นของการสร้างคลาส จะทำงานทุกครั้งอัตโนมัติเมื่อมีการสร้างออบเจคขึ้นใหม่ การกำหนดต้องเริ่มด้วย __ เครื่องหมายอันเดอร์สกอร์สองอัน
public function create($fname,$lname,$email,$contact) ฟังก์ชั่นสร้างออบเจคของตารางใหม่
public function getID($id) ฟังก์ชั่นหาค่าไอดีของตามราง
public function update($id,$fname,$lname,$email,$contact) ฟังก์ชั่นปรับปรุงค่าในตารางใหม่
public function delete($id) ฟังก์ชั่นการลบข้อมูลแบบ row
public function dataview($query) ฟังก์ชั่นการแสดงผลข้อมูลตามรูปแบบการค้นหา(query) โดยจะอาศัยเฟรมเวิร์ค bootstrap
public function paging($query,$records_per_page) เป็นฟังก์ชั่นเรียกการแสดงผลทีละหน้า
public function paginglink($query,$record_per_page)  เป็นฟังก์ชั่นสร้างลิงค์ของเพจในแต่ละหน้า

เพื่อไม่ให้เสียเวลาเราไปทดลองติดตั้งและทดสอบการใช้งานกันเลยดีกว่า

ขั้นตอนที่ 1 ให้ไปดาวน์โหลดซอร์สโค๊ดตามลิงค์ที่ผู้เขียนแปะไว้ให้นี้ จากนั้นแตกไฟล์ออกมาวางไว้ในตำแหน่งที่สามารถเรียกดูผ่านเวบไซต์ได้ http://www.codingcage.com/2015/04/php-pdo-crud-tutorial-using-oop-with.html



ขั้นตอนที่ 2 สร้างฐานข้อมูลตัวอย่างและกำหนดสิทธิ์การอนุญาตสำหรับการเข้าถึงฐานข้อมูลที่สร้างใหม่

CREATE TABLE IF NOT EXISTS `tbl_users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(25) NOT NULL,
  `last_name` varchar(25) NOT NULL,
  `email_id` varchar(50) NOT NULL,
  `contact_no` bigint(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;

--
-- Dumping data for table `tbl_users`
--

INSERT INTO `tbl_users` (`id`, `first_name`, `last_name`, `email_id`, `contact_no`) VALUES
(23, 'pradeep', 'khodke', 'pradeep@gmail.com', 9876543210),
(24, 'sohan', 'mahamune', 'sohan@gmail.com', 9874563210),
(25, 'john', 'doe', 'john@someone.com', 9778456123),
(26, 'test', 'test', 'test@test.com', 8745691230);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

จากนั้นให้ทำการแก้ไขไฟล์ dbconfig.php เพื่อป้อนชื่อผู้ใช้ รหัสผ่าน และชื่อดาต้าเบสเพื่อให้คลาส crud สามารถเชื่อมต่อกับโปรแกรมฐานข้อมูลได้
ขั้นตอนที่ 3 ทดสอบการใช้งานหน้าแรกจะแสดงข้อมูลทั้งหมดที่อยู่ในฐานข้อมูลออกมา

ขั้นตอนที่ 4 ตัวอย่างหน้าจอการเพิ่มข้อมูลลงในฐานข้อมูล

ขั้นตอนที่ 5 ตัวอย่างหน้าจอการลบข้อมูล

รวบรัดตัดความจะพบว่าเพียงแค่ติดตั้งซอร์สโค๊ดเฟรมเวิร์ค bootstrap และ database class ง่ายๆ เพียงเท่านี้เราก็สามารถสร้างระบบบริหารจัดการโปรแกรมฐานข้อมูล MySql ได้อย่างดี การพัฒนาเป็นในรูปแบบออบเจคด้วย ไม่ต้องเสียเวลามากมายในการเขียนโค๊ด รวมถึงการหาวิธีการแสดงผล

ผู้เขียนตั้งใจจะนำไปพัฒนาต่อในส่วนของการสร้างระบบล็อกอิน รวมถึงนำไปใช้ในการบริหารจัดการบัญชีผู้ใช้งานในระบบฮอตสปอร์ตไวไฟ(radius)ในอนาคต แต่คงต้องอาศัยเวลาพัฒนาปรับปรุงไปเรื่อย ๆ แต่เนื้อหาที่น่าสนใจต่อไปก็คือการสร้างระบบล็อกอิน หากทดลองแล้วได้ผลดีประการใดก็จะได้นำมาบอกเล่ากันต่อไปในโอกาสข้างหน้า ผู้เขียนต้องขอขอบพระคุณ บจก. ไทย พรอสเพอรัส ไอที เอื้อเฟื้อพื้นที่เวบบล็อกดี ๆ มานำเสนอกัน และฝากประชาสัมพันธ์ความก้าวหน้าของทางบริษัทฯ ในการเชื่อมต่อระบบซอฟต์แวร์จีพีเอสติดตามรถกับกรมการขนส่งทางบกว่าขณะนี้ก้าวหน้าเกินกว่า 80% คาดว่า ภายในสิ้นเดือนเมษายน พ.ศ.2559 นี้ระบบการเชื่อมต่อพร้อมใบอนุญาตให้บริการจะเสร็จสิ้นสมบูรณ์