Edit
Data แก้ไขค้นข้อมูล
หลังจากที่ได้ปฏิบัติการเพิ่มข้อมูล
แสดงข้อมูลและสืบค้นข้อมูลไปได้เรียบร้อยแล้ว
มาในตอนนี้ก็จะเป็นการปฏิบัติการ
แก้ไขข้อมูล
การแก้ไขข้อมูลนั้นเราต้องทราบก่อนว่าในระบบฐานข้อมูลนั้นมีข้อมูลอะไรอยู่บ้าง
ดังนั้นเราจำเป็นต้องเปิดฐานข้อมูลให้ได้ก่อน ในที่นี้ขอนำเอา show1 มาปรับแก้นิดหน่อย
โปรแกรมประกอบไปด้วย
1.
file show2.php ที่เป็นส่วนนำเสนอข้อมูลเพื่อการแก้ไข
2.
file edit.php ที่ทำหน้าที่ประมวลผล
ติดต่อฐานข้อมูล และแก้ไขข้อมูล
3.
file update.php ที่ทำหน้าที่ประมวลผล
ติดต่อฐานข้อมูล และบันทึกการแก้ไขข้อมูล
1. file
show2.php มีข้อมูลหรือ Source code ดังนี้
<?
//1 ติดต่อฐานข้อมูล MySql $link=mysql_connect("localhost","",""); if (!$link) { print("ERROR"); } else
//2 เลือกเปิดดาต้าเบสชื่อ test
{ mysql_select_db("test",$link);
//3 เลือกเปิดตารางชื่อ testcom
$sql="select * from testcom order by autonum DESC"; $res = mysql_query( $sql , $link ); print("<Table border=1>");
//ส่งข้อมูลไปที่ del.php เพื่อทำการลบ//
print("<form method=get action=del.php>"); //สร้างตาราง print "<table border=1><tr><td>ลบ</td><td>แก้ไข</td><td>ชื่อ</td><td>ชั้น</td> <td>โรงเรียน</td> <td>วันที่ทำ</td><td>เวลาที่ทำ</td><td>ได้คะแนน</td></tr>"; //4 แสดงข้อมูลทุกเขตข้อมูล while( $row=mysql_fetch_row($res)) { print("<tr>"); //ส่งข้อมูลไปที่ del.php โดยอ้างตามลำดับที่ (autonum) เพื่อทำการลบข้อมูล print("<td><input type=radio name=del value=$row[0]></td>");
//5 ส่งข้อมูลไปที่ edit.php โดยอ้างตามลำดับที่ (autonum) เพื่อทำแก้ไขข้อมูล
print("<td><a href=edit.php?autonum=$row[0]>$row[0]</a></td><td>$row[1]</td>"); print("<td> $row[2]</td><td>$row[3]</td><td>$row[4]</td> <td>$row[5]</td><td>$row[6]</td>"); print("</tr>"); } print("</table><p>"); print("<input type=submit value=ลบข้อมูล>"); print("</form>"); } ?> |
การทำงาน ของโปรแกรมจะเป็นขั้นตอนตามที่ได้ระบายแดงไว้
ดังนี้
1.
ติดต่อโปรแกรมฐานข้อมูล MySQL
2.
เลือกดาต้าเบสชื่อ test
3.
เลือกตารางชื่อ testcom
4.
แสดงทุกเขตข้อมูล
5.
ส่งข้อมูลระเบียนชุดที่ต้องการแก้ไขไปดำเนินการแก้ไขที่
file
ชื่อ edit.php
หมายเหตุ
เฉพาะส่วนที่ระบายสีน้ำเงินเป็นส่วนที่ทำงานเกี่ยวกับการลบข้อมูล
ซึ่งจะกล่าวในหัวข้อลบข้อมูลต่อไป
2. file edit.php มีข้อมูลหรือ Source
code ดังนี้
<?
//1 ตรวจเช็คข้อมูล autonum ว่ามีการส่งข้อมูลที่ต้องการแก้ไขมาหรือไม่ if ($autonum=="") { print("ERROR NO ID"); } else {
//2 ติดต่อฐานข้อมูล MySql
$link=mysql_connect("localhost","",""); if (!$link) { print("ERROR"); } else { mysql_select_db("test",$link);
//3 เลือกเปิดตารางชื่อ testcom โดยนำเขตข้อมูล autonum
// ไปเปรียบเทียบกับ $autonum หากตรงกันให้ทำการแก้ไข $sql="select * from testcom where autonum=$autonum"; $res = mysql_query( $sql , $link ); $n=mysql_num_rows($res); if ($n==0) print("Error entry not found"); else { $row=mysql_fetch_row($res); ?> //4 ส่งระเบียนที่แก้ไขแล้วไปทำการเปลี่ยนแปลงข้อมูลในดาต้าเบสที่ file update.php <p><form method="post" action="update.php"> ลำดับ : <?=$row[0]?><br> <input type="hidden" name="autonum" value="<?=$row[0]?>"> ชื่อ <input type="text" name="name" value="<?=$row[1]?>"><br> ชั้น <input type="text" name="class" value="<?=$row[2]?>"><br> โรงเรียน <input type="text" name="school" value="<?=$row[3]?>"><br> วันที่ <input type="text" name="today" value="<?=$row[4]?>"><br> เวลา <input type="text" name="time" value="<?=$row[5]?>"><br> คะแนน <input type="text" name="score" value="<?=$row[6]?>"><br> <input type="submit" name="Submit" value="แก้ไขข้อมูล"> </p> </form> <? } } } ?> |
การทำงาน ของโปรแกรมจะเป็นขั้นตอนตามที่ได้ระบายแดงไว้
ดังนี้
1.
ตรวจเช็คข้อมูล autonum
ว่ามีการส่งข้อมูลที่ต้องการแก้ไขมาหรือไม่
2.
ติดต่อโปรแกรมฐานข้อมูล MySQL
3.
เลือกเปิดตารางชื่อ testcom
โดยนำเขตข้อมูล autonum ไปเปรียบเทียบกับ $autonum
หากตรงกันให้ทำการแก้ไข
4.
ส่งระเบียนที่แก้ไขแล้วไปทำการเปลี่ยนแปลงข้อมูลในดาต้าเบสที่
file
update.php
หากพบข้อความ เตือน จะมีความหมายดังนี้
- ERROR
NO ID หมายถึงไม่มีการส่งข้อมูลมาเพื่อทำการแก้ไข
- ERROR
หมายถึงติดต่อฐานข้อมูลไม่ได้
3. file update.php มีข้อมูลหรือ Source
code ดังนี้
<?
//1. ตรวจเช็คการส่งข้อมูลเพื่อบันทึกการแก้ไข ว่ามีการลบเขตข้อมูลหรือไม่ if ($autonum=="" || $name=="" || $class=="" || $school=="" || $today=="" || $time=="" || $score=="") { print("ERROR BLANK FORM<BR>"); } else { //2. ติดต่อฐานข้อมูล MySql $link=mysql_connect("localhost","",""); if (!$link) { print("ERROR"); } else {
//3. เลือกเปิดตารางชื่อ test
mysql_select_db("test",$link);
//4. นำข้อมูลที่แก้ไขแล้วทุกเขตข้อมูลมาเปรียบเทียบกับทุกเขตข้อมูลในตาราง
test จากนั้นบันทึกข้อมูลที่แก้ไขแล้วลงไป
$sql = "UPDATE testcom SET autonum= '$autonum', name = '$name', class = '$class', school = '$school' WHERE autonum = '$autonum' LIMIT 1";
$res
= mysql_query( $sql , $link );
if ($res==1) print("Edit data OK."); else print("Edit data fail."); } } ?> |
การทำงาน ของโปรแกรมจะเป็นขั้นตอนตามที่ได้ระบายแดงไว้
ดังนี้
1.
ตรวจเช็คการส่งข้อมูลเพื่อบันทึกการแก้ไข
ว่ามีการลบเขตข้อมูลหรือไม่
2.
ติดต่อฐานข้อมูล MySql
3.
เลือกเปิดตารางชื่อ test
4.
นำข้อมูลที่แก้ไขแล้วทุกเขตข้อมูลมาเปรียบเทียบกับทุกเขตข้อมูลในตาราง
test
จากนั้นบันทึกข้อมูลที่แก้ไขแล้วลงไป
หากพบข้อความ เตือน จะมีความหมายดังนี้
- ERROR
BLANK FORM หมายถึงไม่มีการส่งข้อมูลมาเพื่อทำการแก้ไขหรือมีการลบข้อมูลในเขตข้อมูลนั้นๆ
- ERROR
หมายถึงติดต่อฐานข้อมูลไม่ได้
- Edit
data OK. หมายถึงได้ทำการแก้ไขข้อมูลเสร็จเรียบร้อยแล้ว
- Edit
data fail หมายถึงไม่สามารถแก้ไขข้อมูลได้
อ้างอิง : http://www.thaiwbi.com/course/php_mysql/edit_data.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น