PHP MY SQL

15
PHP กับการจัดการข้อมูลใน 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 เสร็จแล้วกดปุ ่ ม บันทึก o กด แทรก เพื่อเพิ่มข้อมูล รายละเอียดของตาราง member 3. ทาการเพิ่มข้อมูลให้ตาราง member ดังตัวอย่าง

description

การจัดเก็บข้อมูลใน MY SQL

Transcript of PHP MY SQL

Page 1: PHP MY SQL

PHP กบการจดการขอมลใน 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 เสรจแลวกดปม บนทก o กด แทรก เพอเพมขอมล

รายละเอยดของตาราง member

3. ท าการเพมขอมลใหตาราง member ดงตวอยาง

Page 2: PHP MY SQL

o ชองแรกเปนคาของ 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 คอมลมนดงภาพ

Page 3: PHP MY SQL

o กลองรบขอความ username ก าหนดชอเปน mem_user

o กลองรบขอความ password ก าหนดชอเปน mem_pass กลองนตองเซตให

input type เปน password ดงภาพ

ขนท 3 สรางเวบเพจ ชอ save_member.php เพอน าขอมลทรบจากไฟล register.php บนทกลงตาราง member ในฐานขอมล mysql ขนตอนการท างานของไฟล save_member.php

1. เปดโปรแกรม Dreamweaver สรางไฟลใหม ตงชอเปน save_member.php เกบไวทโฟลเดอร member (สรางโฟลเดอร member ไวในโฟลเดอร www) 2. ลงเมอเขยนโปรแกรมโดยตองเขยนทงหมดอยในแทก 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 โดยใชค าสง INSERT INTO ชอตาราง VALUES (คาตองตองการเพมละฟวด)*/ $sql = " insert into member values (NULL,'$mem_user','$mem_pass') ";

/* ประมวลผลค าสง sql โดยใชค าสง mysql_query(ค าสงภาษา SQL)*/ $sql_query=mysql_query($sql);

/*ใชค าสง if เพอตรวจสอบการเพมขอมล ถาส าเรจ ตวแปร $sql_query จะมคาเปนจรง*/ if ($sql_query) {echo "เพมขอมลส ำเรจ";} else {echo " เพมขอมลไมส ำเรจ";}

/*ปดการเชอมตอกบฐานขอมล*/ mysql_close(); ?>

Page 4: PHP MY SQL

การดผลงาน : 1. เปดโปรแกรม Internet Explorer แลวพมพค าวา localhost/member/register.php 2. กรอกขอมลแลวกดปมตกลง ถาเพมขอมลส าเรจ โปรแกรมจะบอกวา เพมขอมลส าเรจ ถา เพมไมส าเรจ จะบอกวา เพมขอมลไมส าเรจ 3. กรณทเจอความผดพลาด ใหอานตามทบอกไววาทไฟลอะไร บรรทดทเทาไหร แลวเขาไปแกตามนน สวนมากทผดจะลมใสเครองหมายจบประโยคค าสง (;) หรอพมพค าสงผด

หลกการเขยนค าสงภาษา SQL เพอสงใหเพมขอมลลงตาราง member

หมายเหต คาแรกใสเปน NULL เนองจาก เราก าหนดฟวด mem_id ในฐานขอมลใหเปน auto_increment ซงในฐานขอมลจะเพมคาใหเองอตโนมตเรมจาก 1 2 3 ….. เราจงไมใสขอมลอะไรลงไปซงกคอ NULL

Page 5: PHP MY SQL

การดงขอมลจากตาราง member ออกมาแสดงทหนาเวบเพจ วธท1 ไมใชฟอรม ก าหนดชอไฟล show_member.php

1. เปดโปรแกรม Dreamweaver สรางไฟลใหม ตงชอเปน show_member.php เกบไวทโฟลเดอร member (สรางโฟลเดอร member ไวในโฟลเดอร www) 2. ลงเมอเขยนโปรแกรมโดยตองเขยนทงหมดอยในแทก 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); ?> /* เขยน html สรางหวตาราง*/ <table border=1 width=50%> <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>

Page 6: PHP MY SQL

วธท2 ใชฟอรม ก าหนดชอไฟล show_frm.php

1. เปดโปรแกรม Dreamweaver สรางไฟลใหม ตงชอเปน show_member.php เกบไวทโฟลเดอร member (สรางโฟลเดอร member ไวในโฟลเดอร www) 2. ลงเมอเขยนโปรแกรมโดยตองเขยนทงหมดอยในแทก 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); ?> /* สรางฟอรมเพอแสดงขอมล ภายในฟอรมจะมตาราง*/ <form> <table border=1 width=50%> <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>

Page 7: PHP MY SQL

อธบายเพมเตม

ฟงกชน 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(); ?>

Page 8: PHP MY SQL

การสงคาขามเพจโดย QueryString

QueryString ร ??

Querystring ม ลท Browser ต ท าย URL Page ท ต าร ปย Web Server เ น

ม ลท ป ปร บ ปด ย ม ล ล า ม ล า ต ย า ม ลหร ต ปร type_id ล าท ป 1หา ต าร ามา าหน า เ ร หมาย นร ห า ต ปร

http://localhost/edit_type.php?type_id=1

http://localhost/edit_type.php?type_id=1&amount=5

าร าน ม ล า QueryString

าน ด า าต ปรท เราต นมา ด เลย เ น

ามารถ า ด าต ปร ด ด น

echo"$type_id"; ลล 1

ขอส เ เ ลำ ส ร ำ URL จ ไมม เ ร อ มำ $ เ ลำเร ำ อ ม เ ร อ มำ $

http://localhost/edit_type.php?type_id=1

สรำ จำ Tag Link <a href>... </a>

ำ ด บ HREF TAG <a href> </a> ำ ล sam1.html

<html><body>

<a href="sample2.php?name=peanthip">Test Querystring </a> </body></html>

ธ าร ม ลด ย QueryString

ผลล ธ

ล sam2.php<?

echo $name;

?>

คลกทค าวา Test Querystring : แสดงค าวา peanthip

ธ าร ม ลด ย QueryString

เหมอนกนการออกแบบ Form รรมดาแตแตกตางตรง method="get" ตวอยาง

2. ำรสรำ Querystring HTML Form

<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>

Show.php<?Echo $_GET[user];Echo “<br>”;Echo $_GET[pass];?>

- ต ด าผ าน ททร บ ต Value ท input

ต ย า เ น

<input type =text name=mem_idvalue=$array[mem_id]>

ารด ม ล า าน ม ลมา ด น ร ม

Page 9: PHP MY SQL

หลกใชฟงกชน include() - ทกไฟลทมการตดตอกบฐานขอมลจะตองด าเนนขนตอนเดยวกนหมดคอ

1. ตดตอเครอง Database Server 2. เลอกฐานขอมลทตองการ

ดงนนเราสามารถสรางไฟลนไวเพอใหไฟลอน ๆ ดงมาใชงานโดยเรยกผานฟงกชน include() เชน

ไฟล connect.php <? $hostname = "localhost"; $user = "root"; $password = ""; $dbname = "project"; mysql_connect($hostname, $user, $password) or die("ตดตอไมได"); mysql_select_db($dbname) or die("ตดตอไมได"); mysql_query("SET NAMES utf8");

?>

ตวอยางไฟล show_member.php <? include("connect.php"); $sql = "select * from member"; $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>

Page 10: PHP MY SQL

การแกไขขอมลผานทางเวบเพจ ไฟลทเกยวของ

ไฟล 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' ";

Page 11: PHP MY SQL

ตวอยาง Code ไฟล 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>

Page 12: PHP MY SQL

ตวอยาง Code ไฟล 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>

Page 13: PHP MY SQL

ตวอยาง code ไฟล 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>

Page 14: PHP MY SQL

การลบขอมล ไฟลชอ 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(); ?>

Page 15: PHP MY SQL

2. เขยน code ของไฟล delete_member.php ดงน <? include("connect.php"); $sql="delete from member where mem_id='$delete_id'"; $result=mysql_query($sql); if($result) {echo "ลบขอมลส าเรจ";} else{echo "ลบขอมลไมส าเรจ";} ?> ……………………………………………………………………………………………………………………………