Php ฟอร ม กรอกข อม ล บ นท กลง databass
- 1. Mysql การเพิมข้ อมูล ่ ขั้นที่ 1 ขั้นตอนการสร้ างฐานข้ อมูลและตารางเก็บข้ อมูลกาหนด ฐานข้อมูล ชื่อ project ตารางชื่อ member 1. เปิ ดโปรแกรม phpmyadmin เพื่อสร้างฐานข้อมูล โดยเปิ ด Internet Explorer แล้ วพิมพ์คาว่ า localhost 1.1 เลือกที่ phpMyadmin Database Manager Version 2.10.3 1.2 ใส่ username เป็ น root และ password เป็ น 1234 1.3 สร้างฐานข้อมูลใหม่ ชื่อ project แล้วกดสร้าง 2. สร้างตารางเก็บข้อมูลสมาชิกชื่อตาราง member จานวน 3 ฟิ ลด์ o กาหนด mem_id ให้เป็ น auto_increment และเป็ นคียหลัก ์ o เสร็ จแล้วกดปุ่ ม บันทึก รายละเอียดของตาราง member o กด แทรก เพื่อเพิ่มข้อมูล 3. ทาการเพิมข้อมูลให้ตาราง member ดังตัวอย่าง ่
- 2. mem_id ไม่ตองกรอก ้ เพราะกาหนดเป็ น auto_increment โปรแกรม ฐานข้อมูลจะทาการเพิ่มให้ เอง โดยเรี ยงลาดับจาก 1 2 3 ต่อไปเรื่ อย ๆ o เมื่อเพิ่มแล้วกด ลงมือ ขั้นที่ 2 สร้ างเว็บเพ็จ ชื่อ register.php เพือรับข้ อมูลสมาชิก ่ 1. เปิ ดโปรแกรม Dreamweaver 2. กาหนดค่าพื้นฐานของหน้าเว็บเพจโดยกาหนดให้สามารถอ่านภาษาไทยได้ที่เมนู Modify เลือก Page Properties คลิกที่ Title/Encoding แล้วเลือก Encoding เป็ น Unicode(UTF-8) 3. ใส่ฟอร์มรับค่า โดยคลิกที่ Form และเลือกเครื่ องมือ Form ดังภาพ 4. กาหนด action ของฟอร์มเพื่อส่งค่าข้อมูลสมาชิกที่รับมาไปประมวลที่ไฟล์ save_member.php ดังภาพ 5. กลับไปที่มุมมอง Design แล้วคลิกในบริ เวณกรอบเส้นประสีแดง ๆ ของฟอร์มแล้วนาตารางเข้ามาในฟอร์ม 4 แถว 2 คอมลัมน์ดงภาพ ั
- 3. username กาหนดชื่อเป็ น mem_user o กล่องรับข้ อความ password กาหนดชื่อเป็ น mem_pass กล่องนี ้ต้ องเซตให้ input type เป็ น password ดังภาพ ขั้นที่ 3 สร้ างเว็บเพ็จ ชื่อ save_member.php เพื่อนาข้อมูลที่รับจากไฟล์ register.php บันทึกลงตาราง member ในฐานข้อมูล mysql ขั้นตอนการทางานของไฟล์ save_member.php <? //กาหนดตัวแปรเก็บข้อมูลเพื่อการเชื่อมต่อเครื่ อง Database Server $host ="localhost"; $user = "root"; $pass = "1234"; $db = "project"; /*เชื่ อมต่ อกับเครื่ อง Database Server ด้ วยฟั งก์ ชัน mysql_connect(ชื่ อServer,ชื่ อ ผู้ใช้ ,รหัสผ่ าน)*/ mysql_connect($host,$user,$pass) or die ("ติดต่ อ Server ไม่ สาเร็จ"); /* เลือกฐานข้ อมูล ด้ วยฟั งก์ ชัน mysql_select_db(ชื่ อฐานข้ อมูล)*/ mysql_select_db($db) or die ("ติดต่ อฐานข้ อมูลไม่ สาเร็จ"); // กาหนดให้ การเพิ่ มข้ อมูลลงฐานข้ อมูลรั บภาษาไทย mysql_query("SET NAMES utf8"); /* เขียนคาสั่ งภาษา SQL เพิ่ มข้ อมูลลงตาราง member โดยใช้ คาสั่ ง 1. เปิ ดโปรแกรม Dreamweaver สร้างไฟล์ใหม่ ตั้งชื่อเป็ น INSERT INTO ชื่ อตาราง VALUES (ค่ าต้ องต้ องการเพิ่ มละฟิ วด์ )*/ save_member.php เก็บไว้ที่โฟลเดอร์ member (สร้าง $sql = " insert into member values (NULL,'$mem_user','$mem_pass') "; โฟลเดอร์ member ไว้ในโฟลเดอร์ www) /* ประมวลผลคาสั่ ง sql โดยใช้ คาสั่ ง mysql_query(คาสั่ งภาษา SQL)*/ 2. ลงเมื่อเขียนโปรแกรมโดยต้องเขียนทั้งหมดอยูในแท็ก php ่ $sql_query=mysql_query($sql); <? /*ใช้ คาสั่ ง if เพื่ อตรวจสอบการเพิ่ มข้ อมูล ถ้ าสาเร็ จ ตัวแปร $sql_query จะมีค่า …ขั้นตอนการเขียนตามที่อธิบาย ================= เป็ นจริ ง*/ ?> if ($sql_query) {echo "เพิ่มข้ อมูลสำเร็จ";} else {echo " เพิ่มข้ อมูลไม่ สำเร็จ";} /*ปิ ดการเชื่ อมต่ อกับฐานข้ อมูล */ mysql_close(); ?>
- 4. ดโปรแกรม Internet Explorer แล้วพิมพ์คาว่า localhost/member/register.php 2. กรอกข้อมูลแล้วกดปุ่ มตกลง ถ้าเพิ่มข้อมูลสาเร็ จ โปรแกรมจะบอกว่า เพิ่มข้อมูลสาเร็ จ ถ้า เพิ่มไม่สาเร็ จ จะบอกว่า เพิ่มข้อมูล ไม่สาเร็ จ 3. กรณี ที่เจอความผิดพลาด ให้อ่านตามที่บอกไว้ว่าที่ไฟล์อะไร บรรทัดที่เท่าไหร่ แล้วเข้าไปแก้ตามนั้น ส่วนมากที่ผดจะลืมใส่ ิ เครื่ องหมายจบประโยคคาสัง (;) หรื อพิมพ์คาสังผิด ่ ่ หลักการเขียนคาสั่ งภาษา SQL เพือสั่ งให้ เพิมข้ อมูลลงตาราง member ่ ่ หมายเหตุ ค่าแรกใส่เป็ น NULL เนื่องจาก เรากาหนดฟิ วด์ mem_id ในฐานข้ อมูลให้ เป็ น auto_increment ซึ่งในฐานข้ อมูลจะ เพิ่มค่าให้ เองอัตโนมัติเริ่มจาก 1 2 3 ….. เราจึงไม่ใส่ข้อมูลอะไรลงไปซึ่งก็คือ NULL
- 5. ออกมาแสดงที่หน้ าเว็บเพ็จ วิธีที่1 ไม่ ใช้ ฟอร์ ม กาหนดชื่ อไฟล์ show_member.php <? //กาหนดตัวแปรเก็บข้อมูลเพื่อการเชื่อมต่อเครื่ อง Database Server $host ="localhost"; $user = "root"; $pass = "1234"; $db = "project"; /*เชื่ อมต่ อกับเครื่ องด้ วยฟั งก์ ชัน mysql_connect(ชื่ อServer,ชื่ อผู้ใช้ ,รหัสผ่ าน)*/ mysql_connect($host,$user,$pass) or die ("ติดต่ อ Server ไม่ สาเร็จ"); /* เลือกฐานข้ อมูล ด้ วยฟั งก์ ชัน mysql_select_db(ชื่ อฐานข้ อมูล)*/ mysql_select_db($db) or die ("ติดต่ อฐานข้ อมูลไม่ สาเร็จ"); /* กาหนดให้ การเพิ่ มข้ อมูลลงฐานข้ อมูลรั บภาษาไทย */ mysql_query("SET NAMES utf8"); /* เขียนคาสั่ งภาษา SQL เพื่ อดึงข้ อมูลออกมาแสดง*/ $sql = "SELECT * FROM member"; /* ประมวลผลคาสั่ ง sql โดยใช้ คาสั่ ง mysql_query(คาสั่ งภาษา SQL)*/ $sql_query=mysql_query($sql); 1. เปิ ดโปรแกรม Dreamweaver สร้างไฟล์ใหม่ ตั้งชื่อเป็ น ?> show_member.php เก็บไว้ที่โฟลเดอร์ member (สร้าง /* เขียน html สร้ างหัวตาราง*/ โฟลเดอร์ member ไว้ในโฟลเดอร์ www) <table border=1 width=50%> 2. ลงเมื่อเขียนโปรแกรมโดยต้องเขียนทั้งหมดอยูในแท็ก php ่ <tr align="center" > <td>ลาดับ</td><td>Username</td><td>Password</td> <? </tr> …ขั้นตอนการเขียนตามที่อธิบาย ================= /*ใช้ภาษา php ในการดึงข้อมูลออกมาที ละแถวโดยใช้ คาสัง While เพือวนรอบ ่ ่ ?> และใช้คาสัง mysql_fetch_array() ดึงข้อมูลจากการค้นหามาเก็บในตัวแปร ่ ภาพผลลัพธ์ ประเภทอาเรย์ในทีนีตงชือตัวแปรเป็ น $array */ ่ ้ ั้ ่ <? while($array =mysql_fetch_array($sql_query)) { echo "<tr>"; echo "<td>$array[mem_id]</td>"; echo "<td>$array[mem_user]</td>"; echo "<td>$array[mem_pass]</td>"; echo "</tr>"; } mysql_close(); ?> </table>
- 6. ม กาหนดชื่อไฟล์ show_frm.php <? //กาหนดตัวแปรเก็บข้อมูลเพื่อการเชื่อมต่อเครื่ อง Database Server $host ="localhost"; $user = "root"; $pass = "1234"; $db = "project"; /*เชื่ อมต่ อกับเครื่ องด้ วยฟั งก์ ชัน mysql_connect(ชื่ อServer,ชื่ อผู้ใช้ ,รหัสผ่ าน)*/ mysql_connect($host,$user,$pass) or die ("ติดต่ อ Server ไม่ สาเร็จ"); /* เลือกฐานข้ อมูล ด้ วยฟั งก์ ชัน mysql_select_db(ชื่ อฐานข้ อมูล)*/ mysql_select_db($db) or die ("ติดต่ อฐานข้ อมูลไม่ สาเร็จ"); /* กาหนดให้ การเพิ่ มข้ อมูลลงฐานข้ อมูลรั บภาษาไทย */ mysql_query("SET NAMES utf8"); /* เขียนคาสั่ งภาษา SQL เพื่ อดึงข้ อมูลออกมาแสดง*/ $sql = "SELECT * FROM member"; /* ประมวลผลคาสั่ ง sql โดยใช้ คาสั่ ง mysql_query(คาสั่ งภาษา SQL)*/ $sql_query=mysql_query($sql); 1. เปิ ดโปรแกรม Dreamweaver สร้างไฟล์ใหม่ ตั้งชื่อเป็ น ?> show_member.php เก็บไว้ที่โฟลเดอร์ member (สร้าง /* สร้ างฟอร์ มเพื่ อแสดงข้ อมูล ภายในฟอร์ มจะมีตาราง*/ โฟลเดอร์ member ไว้ในโฟลเดอร์ www) <form> 2. ลงเมื่อเขียนโปรแกรมโดยต้องเขียนทั้งหมดอยูในแท็ก ่ <table border=1 width=50%> php <tr align="center" > <td width="5%">ลำดับที่</td><td>Username</td><td>Password</td> <? </tr> …ขั้นตอนการเขียนตามที่อธิบาย <? ================= while($array =mysql_fetch_array($sql_query)) ?> { ภาพผลลัพธ์ echo "<td> <input type =text name=mem_id value=$array[mem_id]> </td>"; echo "<td> <input type =text name=mem_user value=$array[mem_user]> </td>"; echo "<td> <input type =text name=mem_pass value=$array[mem_pass]> </td>"; echo "</tr>"; } mysql_close(); ?> </table> </form> </body> </html>
- 7. ่ ฟังก์ชัน mysql_fetch_array() : ดึงค่าผลลัพธ์ที่ได้จากคาสัง mysql_query( ) เก็บลงอาร์เรย์เพื่อนาไปใช้งานต่อไป ่ คาอธิบายคาสั่ง $sql = “SELECT * FROM member”; $sql_query = mysql_query($sql) $array =mysql_fetch_array($sql_query) $array[mem_id] : เก็บข้อมูลของคอลัมน์ mem_id $array[mem_user] : เก็บข้อมูลของคอลัมน์ mem_user $array[mem_pass] : เก็บข้อมูลของคอลัมน์ mem_pass ดังนั้นถ้ าต้องการแสดงผลของค่าทีอยู่ในตาราง member ออกมาทีละแถว จึงต้องใช้ คาสั่ง ่ <? while($array =mysql_fetch_array($sql_query)) { echo "<tr>"; echo "<td>$array[mem_id]</td>"; echo "<td>$array[mem_user]</td>"; echo "<td>$array[mem_pass]</td>"; echo "</tr>"; } mysql_close(); ?>
- 8. ามเพ็จโดย QueryString QueryString ร ?? าร าน มล า QueryString Querystring มลท Browser ต ทาย URL Page ท าน ด า าตั ปรทเราตั นมา ดเลย เ น ต าร ปยั Web Server เ น //localhost/edit_type.php?type_id=1 //localhost/edit_type.php?type_id=1 ามารถ า ั ด าตั ปร ดดั น มลท ป ปร บ ปด ย มล ล า มล า ตั ยา มลหร ตั ปร type_id ล าท ป 1 echo"$type_id"; หา ต าร ามา าหน า เ ร หมาย นร ห า ตั ปร ั ลลั 1 //localhost/edit_type.php?type_id=1&amount=5 ข้ อส เ เ ลำ ส่ ร ้ ำ URL จ ไม่มเ ร่อ มำ $ ่เ ลำเร ้ ำ ้อ มเ ร่อ มำ $ ธ าร มลด ย QueryString ธ าร มลด ย QueryString สร้ ำ จำ Tag Link <a href>... </a> ล sam2.php ำ ด บั HREF TAG <a href> </a> ั ำ <? ล sam1.html echo $name; <html> ?> <body> คลิกที่คาว่ า Test Querystring : แสดงคาว่ า peanthip <a href="sample2.php?name=peanthip">Test Querystring </a> </body> </html> ผลลั ธ 2. ำรสร้ ำ Querystring ้ HTML Form ารด มล า าน มลมา ด น รม เหมือนกันการออกแบบ Form รรมดาแต่แตกต่างตรง ี่ - ต ด าผาน ททรบ ต Value ท input method="get" ตัวอย่าง ตั ยา เ น Show.php <? Echo $_GET[user]; Echo “<br>”; <input type =text name=mem_id Echo $_GET[pass]; ?> value=$array[mem_id]> <form method=“get” action=“show.php”> Username : <input type=“text” name=“user”> password : <input type=“password” name=“pass”> <input type=submit name =“submit” value =“ตกลง”> <input type=“reset” name =reset value =“ตกลง”> </form>
- 9. include() - ทุกไฟล์ที่มีการติดต่อกับฐานข้อมูลจะต้องดาเนินขึ้นตอนเดียวกันหมดคือ 1. ติดต่อเครื่ อง Database Server 2. เลือกฐานข้อมูลที่ตองการ ้ ดังนั้นเราสามารถสร้ างไฟล์นไว้เพือให้ไฟล์อน ๆ ดึงมาใช้ งานโดยเรียกผ่านฟังก์ชั่น include() เช่ น ี้ ่ ื่ ไฟล์ connect.php ตัวอย่างไฟล์ show_member.php <? <? $hostname = "localhost"; include("connect.php"); $user = "root"; $sql = "select * from member"; $password = ""; $sql_query=mysql_query($sql); $dbname = "project"; ?> mysql_connect($hostname, $user, $password) or die("ติดต่ อไม่ ได้ "); <html> mysql_select_db($dbname) or die("ติดต่ อไม่ ได้ "); <head><title>ข้อมูลลูกค้า</title></head> mysql_query("SET NAMES utf8"); <body> <table border=1 width=30% > ?> <tr align="center" bgcolor="
CCCCFF"> <td>ลาดับที่</td><td>Username</td><td>Password</td><td>แก้ไข</td><td> ลบ</td> </tr> <? while($array =mysql_fetch_array($sql_query)) { echo "<td>$array[mem_id]</td>"; echo "<td>$array[mem_user]</td>"; echo "<td>$array[mem_pass]</td>"; echo "<td><a href='edit_member.php?show_id=$array[mem_id]'>แก้ไข </a></td>"; echo "<td>ลบ</td>"; echo "</tr>"; } mysql_close(); ?> </table> </body> </html>
- 10. ที่เกี่ยวข้ อง ไฟล์ show_member.php หลักการ - ส่งค่าตัวแปรข้ามเพ็จไปยังไฟล์ show_edit โดยใช้เทคนิค QueryString - ตัว แปรที่ส่งไปคือ show_id โดยค่าที่เก็บในตัวแปรนี้คือ ค่าของรหัสสมาชิก (mem_id)ที่ดึงมาเก็บไว้ในตัวแปรอาร์เรย์ $array[mem_id] โดยเพิ่มคาสังลิงค์ ่ <a href='edit_member.php?show_id=$array[mem_id]'>แก้ไข</a> หลักการ ไฟล์ edit_member.php - แสดงข้อมูลของแถวที่มีรหัสสมาชิกที่ส่งค่ามาจากไฟล์ show_member.php คือ ค่า $show_id โดยใช้คาสัง ่ $sql = "select * from member where mem_id ='$show_id' "; - ใช้ฟอร์มในการแสดงค่าต่าง ๆ โดยกาหนดให้ ค่าของ value ในแท็ก input เป็ นค่าข้อมูลของสมาชิกที่มีรหัสตรงกันกับที่เลือกมาก่อนหน้านั้น เช่น <input type =text name=mem_id size = 8 value=$array[mem_id]> - ส่งค่าตัวแปรข้ามเพ็จไปยังไฟล์ save_edit โดยใช้เทคนิค QueryString - ตัว แปรที่ส่งไปคือ edit_id เช่น <form action="save_edit.php?edit_id=<?=$show_id?>" method="post"> ไฟล์ save_edit.php หลักการ - ใช้คาสังแก้ไขข้อมูล UPDATE เพื่อรับข้อมูลที่แก้ไขใหม่จากไฟล์ ่ show_edit.php ซึ่งจะส่งค่าตัวแปร $edit_id มา $sql = "UPDATE member SET mem_user='$mem_user', mem_pass='$mem_pass' where mem_id='$edit_id' ";
- 11. show_member.php <? /* ใช้ฟังก์ชน include ดึง code ส่วนของการเชื่อมต่อมาจากไฟล์ connect.php ที่สร้างไว้แล้ว*/ ั่ include("connect.php"); /* เขียนคาสังภาษา SQL ในดึงข้อมูลจากฐานข้อมูลออกมา*/ ่ $sql = "select * from member"; /* ดาเนินการตามคาสังใช้ฟังก์ชน mysql_query(คาสังภาษา SQL)*/ ่ ั ่ $sql_query=mysql_query($sql); ?> <html> <head><title>ข้อมูลลูกค้า</title></head> <body> <table border=1 width=30% > <tr align="center" bgcolor="
CCCCFF"> <td>ลาดับที่</td><td>Username</td><td>Password</td><td>แก้ไข</td><td>ลบ</td> </tr> <? while($array =mysql_fetch_array($sql_query)) { echo "<td>$array[mem_id]</td>"; echo "<td>$array[mem_user]</td>"; echo "<td>$array[mem_pass]</td>"; echo "<td><a href='edit_member.php?show_id=$array[mem_id]'>แก้ไข</a></td>"; echo "<td>ลบ</td>"; echo "</tr>"; } mysql_close(); ?> </table> </body></html>
- 12. edit_member.php <? /* ใช้ฟังก์ชน include ดึง code ส่วนของการเชื่อมต่อมาจากไฟล์ connect.php ที่สร้างไว้แล้ว*/ ั่ include("connect.php"); /* เขียนคาสังภาษา SQL ในดึงข้อมูลจากฐานข้อมูลออกมา*/ ่ $sql = "select * from member where mem_id ='$show_id' "; /* ดาเนินการตามคาสังใช้ฟังก์ชน mysql_query(คาสังภาษา SQL)*/ ่ ั ่ $sql_query=mysql_query($sql); ?> <form action="save_edit.php?edit_id=<?=$show_id?>" method="post"> <table border=1 width=100 cellpadding=5 cellspacing=0 bordercolor="
CCCCCC"> <tr align="center" bgcolor="
CCCCFF"> <td width="5%">ลาดับที</td><td>Username</td><td>Password</td><td>แก้ไข</td> ่ </tr> <? while($array =mysql_fetch_array($sql_query)) { echo "<td><input type =text name=mem_id size = 8 value=$array[mem_id]></td>"; echo "<td><input type =text name=mem_user value=$array[mem_user] size = 10></td>"; echo "<td><input type =text name=mem_pass value=$array[mem_pass] size = 10></td>"; echo "<td><input type='submit' name = 'submit' value='แก้ไข'></td>"; echo "</tr>"; } mysql_close(); ?> </table> </form> </body> </html>
- 13. save_edit.php <? /* ใช้ฟังก์ชน include ดึง code ส่วนของการเชื่อมต่อมาจากไฟล์ connect.php ที่สร้างไว้แล้ว*/ ั่ include("connect.php"); /* เขียนคาสังภาษา SQL ในการเพิ่มข้อมูลลงในตารางที่ตองการ โดยใช้คาสัง ่ ้ ่ UPDATE ชื่อตาราง SET ชื่อฟิ วด์ในฐานข้อมูล =’ชื่อของกล่องรับค่าในไฟล์ edit_member.php’ */ $sql = "UPDATE member SET mem_user='$mem_user', mem_pass='$mem_pass' where mem_id='$edit_id' "; /* ดาเนินการตามคาสังใช้ฟังก์ชน mysql_query(คาสังภาษา SQL)*/ ่ ั ่ $sql_query=mysql_query($sql); if ($sql_query) {echo "แก้ไขข้ อมูลสาเร็จ";} else {echo " แก้ไขข้อมูลไม่สาเร็จ";} mysql_close(); ?> /* เพิ่มคาสังลิงค์เพื่อกลับไปหน้าแสดงข้อมูลผูใช้ท้งหมดที่เก็บไว้ในไฟล์ show_member.php*/ ่ ้ ั <a href="show_member.php">-->> แสดงข้อมูลทั้งหมด</a> </body> </html>
- 14. ไฟล์ ชื่อ delete_member.php ไฟล์ show_member.php หลักการ - ส่งค่าตัวแปรข้ามเพ็จไปยังไฟล์ delete_member.php โดยใช้เทคนิค QueryString - ตัวแปรที่ส่งไปคือ delete_id โดยค่าที่เก็บในตัวแปรนี้คือ ค่าของรหัสสมาชิก (mem_id) ที่ดึงมาเก็บไว้ในตัวแปรอาร์เรย์ $array[mem_id] โดยเพิ่มคาสังลิงค์ ่ <a href='delete_member.php?delete_id=$array[mem_id]'>ลบ</a> ไฟล์ delete_member.php หลักการ - ลบข้อมูลที่ของสมาชิกที่ตรงกับรหัสที่ส่งมาจากไฟล์ show_member.php คือ ค่า $delete_id โดยใช้คาสัง ่ $sql = "delete from member where mem_id ='$delete_id' "; หลักการ 1. เพิ่ม code (บันทัดที่ไฮไลท์และตัวอักษรเอียง) ในไฟล์ show_member.php เพื่อทาลิงค์ไปไฟล์ delete_member.php <? while($array =mysql_fetch_array($sql_query)) { echo "<td>$array[mem_id]</td>"; echo "<td>$array[mem_user]</td>"; echo "<td>$array[mem_pass]</td>"; echo "<td><a href='edit_member.php?show_id=$array[mem_id]'>แก้ไข</a></td>"; echo "<td><a href='delete_member.php?delete_id=$array[mem_id]'>ลบ</a></td>"; echo "</tr>"; } mysql_close(); ?>
- 15. ของไฟล์ delete_member.php ดังนี้ <? include("connect.php"); $sql="delete from member where mem_id='$delete_id'"; $result=mysql_query($sql); if($result) {echo "ลบข้อมูลสาเร็จ";} else{echo "ลบข้ อมูลไม่สาเร็จ";} ?> ……………………………………………………………………………………………………………………………