Thaimisc.com : PHP กับฐานข้อมูล MySQL (9)
ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us | Colocation | Web Hosting | เปิดร้านค้าฟรี


Category : Php Developer Print Article Only Print Aticle With Comment
PHP กับฐานข้อมูล MySQL (9)
เขียนโดย เดอะกาฝากไดอารี่ (ball@bbznet.com) , 07-05-2004
ขออภัยที่มาอัพเดตสาย (เช่นเคย) ครับ งานรัดตัวมากทีเดียว แม้ว่าจะผ่านสมรภูมิงานสัมมนาไปได้อย่างหวุดหวิดแล้วก็ตามที แต่ก็ต้องมาตามเก็บโปรเจ็คที่ค้างดองเอาไว้นาน เลยทำให้ไม่มีโอกาสมารับใช้เรื่อง MySQL เท่าไหร่ แต่แอบแว่บมารับใช้ในส่วน Software Corner แทน แหะ แหะ...

ถึงตอนนี้เราลองมาเปิด phpMyAdmin กันดูอีกทีครับ

จะเห็นว่า ณ ตอนนี้เราจะมีตารางชื่อว่า employee รอเราเอาไว้เรียบร้อยแล้ว... ทีนี้เราจะทำยังไงต่อดี?!?

มีตารางแล้ว ก็เท่ากับว่าเราสามารถที่จะเอาข้อมูลไปยัดลงได้แล้วสิ... คิดได้เช่นนั้นแล้วลองซักหน่อยจะเป็นไรเล่าครับ แล้วจะทำยังไงดีล่ะ?!? ก็ง่ายๆ ครับ เห็นตารางช่องที่เขียนว่า กระทำการ ไหมครับ ดูไอตอนอันที่ 3 จากซ้ายมือ อันที่อยู่ข้างๆ ไอคอนรูปแว่นขยายนั่นแหละครับ คือปุ่มสำหรับการแทรกสิ่งที่ว่า ระเบียน ลงไปในตารางฐานข้อมูล

ระเบียนคืออะไร?!?
พูดถึงคำคำนี้นะครับ เราอาจจะเจอในหนังสือสอนเกี่ยวกับฐานข้อมูล ของนักเขียนที่อนุรักษ์ภาษาไทยสุดๆ เลยครับ แต่หลายๆ คนในที่นี้ อาจจะชินกับคำว่า เรกคอร์ด (record) มากกว่าละมั้งครับ (เช่นเดียวกับที่เราๆ ท่านๆ อาจจะชินกับคำว่า คอลัมน์ ที่เรียกทับศัพท์มาจากคำว่า column มากกว่าคำว่า สดมภ์ ที่เป็นคำแปลของคำว่า column มากกว่า)

ชักนอกเรื่อง -_-''

พอพูดถึงคำว่า เรกคอร์ด คงจะทำให้เข้าใจได้ง่ายอีกหน่อยใช่ไหมครับ... แปลตรงๆ ตัว record ในภาษาอังกฤษ ก็จะหมายถึงพวก สถิติ หรือข้อมูลอะไรซักอย่างที่ถูกบันทึกเอาไว้... ใช่เลยครับ ข้อมูล 1 เรกคอร์ด หรือ 1 ระเบียน นั้นจะหมายถึง ข้อมูล 1 จำนวน 1 ชุดที่ถูกบันทึกเอาไว้ในตารางฐานข้อมูลของเรานั่นเอง

ดังนั้นคำว่า 1 ระเบียนของเราในที่นี้ ก็หมายถึงข้อมูลพนักงาน 1 คนนั่นเองครับ... แต่หากตารางฐานข้อมูลเป็นตารางที่เอาไว้เก็บข้อมูลสินค้า ข้อมูล 1 ระเบียน ก็จะหมายถึง สินค้าจำนวน 1 ชิ้นนั่นเอง

เท่านี้พอจะเข้าใจความหมายของคำว่า ระเบียน มากขึ้นหรือยังครับ?!? ที่ผมอยากให้ทำความเข้าใจเรื่องนี้ก่อน ก็เพราะว่าจากนี้ไป คุณๆ ทั้งหลาย จะได้เจอผมเขียนว่า ระเบียน หรือ เรกคอร์ด เยอะขึ้นเรื่อยๆ ครับ (ก็แหม เรากำลังพูดถึงเรื่องของฐานข้อมูลอยู่นิ)

แทรกระเบียนลงตาราง
ทีนี้เรากลับมาที่เรื่องของเรากันต่อครับ... ตอนนี้เรามีฐานข้อมูลแล้ว และเราก็สร้างตารางเอาไว้เก็บข้อมูลพนักงานไว้เรียบร้อยแล้วเช่นกัน ถึงตอนนี้เราก็กำลังจะแทรกข้อมูลพนักงานไปเก็บเอาไว้ในตาราง เราก็คลิกที่ไอคอนแทรกระเบียนตามที่ผมบอกมะกี้ เราก็จะมาที่หน้าจอนี้ครับ

อ๊ะๆ อย่าเพิ่งงงๆ นะครับ ว่าข้อมูลมาจากไหน... กำลังจะเฉลยให้หายงง ณ บัดเดี๋ยวนี้แหละครับ

ข้อมูลที่เห็นในรูป คือสิ่งที่เรากำลังจะกรอกเข้าไปไงครับ นั่นคือข้อมูลของพนักงานคนแรก นาย บุญมี บุญล้นเหลือ ที่เป็นเจ้าหน้าที่แผนกบัญชี นั่นเอง เงินเดือนคือ 8,500 บาท...

ถึงตรงนี้มีอยู่สองจุดที่อยากพูดถึงซักหน่อย คือ

  • ฟังก์ชั่น : อันนี้ไม่ใช่ฟีเจอร์ของ MySQL นะครับ แต่เป็นฟีเจอร์ของ PHP ซะมากกว่า (ไงๆ ก็อย่าลืมว่า phpMyAdmin คือเว็บแอปพลิเคชั่นที่พัฒนามาจากสคริปต์ PHP นะครับ) ซึ่งช่วยให้เราสามารถทำอะไรหลายๆ อย่าง กับข้อมูลที่เรากำลังจะแทรกลงไปในฐานข้อมูลได้ เช่น การเข้ารหัส MD5 เป็นต้น (ไว้จะกล่าวถึงภายหลัง) ตอนนี้เราจะยังไม่พูดถึงครับ เพราะฟังก์ชันที่เห็นๆ นั่น มีเกินความจำเป็นที่เราจะใช้งานด้วยซ้ำไป และในการพัฒนาแอปพลิเคชั่นที่ผมกำลังจะนำเสนอ เราจะไม่ใช้ phpMyAdmin ในการแทรกข้อมูลลงฐานข้อมูลเป็นหลักอยู่แล้ว
  • ว่างเปล่า (null) : อันนี้ใช้บ่อยหน่อย คือ เวลาที่เราทำเครื่องหมายถูก ณ checkbox นี้แล้ว จะเป็นการกำหนดค่าว่างเปล่า หรือ null ให้กับข้อมูลฟิลด์นั้นๆ ครับ

ว่างเปล่า (null) กับค่าว่างๆ ต่างกันไหม?!?
อันนี้ก็ชวนให้สงสัยอีกแล้ว และเป็นอะไรที่มือใหม่เกี่ยวกับการเขียนโปรแกรมจะสงสัยกันครับ คือจะไปสับสนกับค่าว่าง ซึ่งก็คือตัวอักษรที่เป็นตัวว่างๆ (เหมือนกับการเคาะ spacebar)... แต่ทำว่า null นั้นมีความหมายลึกซึ้งกว่านั้นครับ ตัว null หรือที่เรียกชื่อเต็มๆ ว่า null character นั้น จะหมายถึงตัวอักษรที่มีค่าตามรหัส ASCII เป็น 0 (คือทุกบิตมีค่าเป็น 0 หมด) ดังนั้นจะว่าไปแล้ว ค่า null นั้นก็เปรียบได้ประมาณค่า 0 ตามค่าตัวเลขทั่วๆ ไปนั่นเอง แต่ในความหมายในกรณีของ text แล้ว มันมีความพิเศษครับ... คืออย่างคำว่า ค่าว่าง หรือตัวอักษรว่าง นั้น ในฐานข้อมูลยังถือว่ามีข้อมูลอยู่ในนั้นนะครับ คือตัวอักษรที่เป็นตัวว่างๆ นั่นเอง แต่หากเราเซ็ตค่าเป็น null ลงในฐานข้อมูลแล้ว นั่นก็คือการลบข้อมูลออกจากฟิลด์นั้นๆ ไปเลย ไม่มีข้อมูลใดๆ อยู่ในนั้นนั่นเองครับ

เอาละ กลับมาเข้าเรื่องของเรากันต่อ... ตอนนี้ผมก็ได้กรอกข้อมูลลงไปในฐานข้อมูลแล้ว และเตรียมพร้อมที่จะแทรกข้อมูลแล้ว สิ่งที่ผมต้องทำคืออะไรต่อ?!? คำตอบก็คือ คลิกปุ่ม ลงมือ ไงล่ะครับ แต่ เอ๊ะ! เดี๋ยวก่อน เราลืมมองอะไรไปอย่างหรือเปล่า?!?

คำตอบก็คือ ให้สังเกตตรงเหนือปุ่ม ลงมือ ก่อนนะครับ เราอ่านได้ใจความว่ายังไง?!?

แทรกเป็นแถวใหม่ และ มีให้เลือกสองทางคือ ส่งกลับ หรือ แทรกระเบียนใหม่... หมายความว่ายังไงกัน?!?

  • ส่งกลับ : หากเลือกตัวนี้ พอเราแทรกระเบียนเสร็จแล้ว มันก็จะส่งเรากลับไปยังหน้าฐานข้อมูลของเราเลยครับ เราจะเลือกตัวเลือกนี้ กรณีที่ ข้อมูลที่เราจะแทรก คือข้อมูลสุดท้ายของเราแล้ว
  • แทรกระเบียนใหม่ : หากเลือกตัวนี้ พอเราแทรกระเบียนปัจจุบันเสร็จแล้ว มันก็จะส่งเรากลับมายังหน้าเดิม เพื่อให้เรากรอกข้อมูลของระเบียนใหม่ เพื่อแทรกเพิ่ม... เราจะเลือกตัวเลือกนี้ในกรณีที่เรายังแทรกระเบียนไม่ครบเรียบร้อยดีครับ

นับๆ ดูแล้ว (อ้างอิงจาก PHP กับฐานข้อมูล MySQL ตอนที่ 3) เรามีข้อมูลที่จะต้องแทรกลงไปถึง 10 ระเบียนด้วยกันทีเดียว หรือพูดง่ายๆ คือเราต้องการบันทึกข้อมูลพนักงาน 10 คนนั่นเอง แต่ผมจะไม่เลือกตัวเลือกแทรกระเบียนใหม่หรอกนะ ผมจะส่งกลับเลย เพราะสิ่งที่ผมต้องการคือ คำสั่ง SQL ที่ใช้ในการแทรกระเบียนต่างหาก... เพื่อเราจะได้เรียนรู้คำสั่ง SQL เอาไว้ใช้พัฒนาเว็บแอปพลิเคชั่นเป็นของเราเอง

ส่วนข้อมูลที่เหลือ ผมจะแทรกไปทีหลัง ด้วยการเขียนโค้ด PHP เอาเองครับ... เอาละ ถึงตอนนี้เราก็คลิกปุ่ม ลงมือ ได้เสียที

(ติดตามตอนต่อไป)

<- Back | Next ->

ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us
Copyright 1999-2006 Thailand Miscellaneous. Allrights reserved. webmaster@thaimisc.com