ในหัวข้อนี้จะเป็นการ workshop ให้เรียกข้อมูลที่เราได้เพิ่มเข้าไปแล้วใน database ไปแก้ไข (UPDATE) ในฟอร์มที่เราได้สร้างขึ้นนะครับ ในการแก้ไขข้อมูลจะมีไฟล์ที่เกี่ยวข้องอยู่ทั้งหมด 4 ไฟล์ คือ ไฟล์เชื่อมต่อ database connection.php , ไฟล์เรียกข้อมูลมาแสดง showmember.php, ไฟล์ฟอร์มสำหรับแก้ไขข้อมูล
รวมคลิปสอน php+mysqli
สอน CodeIgniter สอนทำระบบหนังสือเวียนออนไลน์
สอน CodeIgniter สอนทำระบบยืมคืนครุภัณฑ์
userupdateform.php และไฟล์สำหรับบันทึกข้อมูลที่แก้ไขลงใน database userupdate_db.php (เราสามารถตั้งชื่อไฟล์ให้สื่อกับระบบของเราได้ตามสบายเลยนะครับไม่ต้องตามผมเปะๆ)
มาเริ่มกันเลย
1.ไฟล์เชื่อมต่อกับ database connection.php
1 2 3 4 5 6 |
<?php $con= mysqli_connect("localhost","root","123","myweb") or die("Error: " . mysqli_error($con)); mysqli_query($con, "SET NAMES 'utf8' "); ?> |
2.ไฟล์เรียกข้อมูลมาแสดง showmember.php
ในไฟล์นี้ให้สังเกตุบรรทัดที่ 24 จะเป็นการส่งค่า member_id ของข้อมูลนั้นๆ ไปแก้ไขที่ฟอร์มของเรา
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<meta charset="UTF-8"> <?php //1. เชื่อมต่อ database: include('connection.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี //2. query ข้อมูลจากตาราง: $query = "SELECT * FROM tb_member ORDER BY member_id asc" or die("Error:" . mysqli_error()); //3. execute the query. $result = mysqli_query($con, $query); //4 . แสดงข้อมูลที่ query ออกมา: //ใช้ตารางในการจัดข้อมูล echo "<table border='1' align='center' width='500'>"; //หัวข้อตาราง echo "<tr align='center' bgcolor='#CCCCCC'><td>รหัส</td><td>Uername</td><td>ชื่อ</td><td>นามสกุล</td><td>อีเมล์</td><td>แก้ไข</td><td>ลบ</td></tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" .$row["member_id"] . "</td> "; echo "<td>" .$row["username"] . "</td> "; echo "<td>" .$row["member_name"] . "</td> "; echo "<td>" .$row["member_lname"] . "</td> "; echo "<td>" .$row["email"] . "</td> "; //แก้ไขข้อมูลส่่ง member_id ที่จะแก้ไขไปที่ฟอร์ม echo "<td><a href='userupdateform.php?member_id=$row[0]'>edit</a></td> "; //ลบข้อมูล echo "<td><a href='UserDelete.php?member_id=$row[0]' onclick=\"return confirm('Do you want to delete this record? !!!')\">del</a></td> "; echo "</tr>"; } echo "</table>"; //5. close connection mysqli_close($con); ?> |
ขอแนะนำระบบโหวต/เลือกตั้งออนไลน์
สนใจ inbox มาที่ https://www.facebook.com/sornwebsites/ (ไม่แพงจ้า)
3.ไฟล์ฟอร์มรับข้อมูลมาแก้ไข userupdateform.php
เมื่อส่ง $member_id จากไฟล์แสดงข้อมูลมาแล้วในไฟล์นี้เราต้องสร้างตัวแปรรับข้อมูล $member_id = $_REQUEST[“member_id”]; ดังบรรทัดที่ 6 จากนั้นให้ก็สามารถแก้ไขข้อมูลตามที่เราต้องการและคลิกปุ่ม update เพื่อให้ฟอร์มส่งค่าไปไฟล์ database userupdate_db.php (action) หรือคลิก ยกเลิก เพื่อกลับไปหน้าแสดงข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
<meta charset="UTF-8"> <?php //1. เชื่อมต่อ database: include('connection.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี //ตรวจสอบถ้าว่างให้เด้งไปหน้าหลัก if($_GET["member_id"]==''){ echo "<script type='text/javascript'>"; echo "alert('Error Contact Admin !!');"; echo "window.location = 'showmember.php'; "; echo "</script>"; } //รับค่าไอดีที่จะแก้ไข $member_id = mysqli_real_escape_string($con,$_GET['member_id']); //2. query ข้อมูลจากตาราง: $sql = "SELECT * FROM tb_member WHERE member_id='$member_id' "; $result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error()); $row = mysqli_fetch_array($result); extract($row); ?> <form action="userupdate_db.php" method="post" name="updateuser" id="updateuser"> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="40" colspan="2" align="center" bgcolor="#D6D5D6"><b>แก้ไขข้อมูลสมาชิก</b></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB">ID : </td> <td bgcolor="#EBEBEB"> <p><input type="text" name="member_id" value="<?php echo $member_id; ?>" disabled='disabled' /> <input type="hidden" name="member_id" value="<?php echo $member_id; ?>" /> </td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> </td> </tr> <tr> <td width="117" align="right" bgcolor="#EBEBEB">ชื่อ :</td> <td width="583" bgcolor="#EBEBEB"><input name="member_name" type="text" id="member_name" value="<?=$member_name;?>" size="30" placeholder="ภาษาไทยเท่านั้น" required="required" /></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> </td> </tr> <tr> <td align="right" bgcolor="#EBEBEB">สกุล <label> :</label></td> <td bgcolor="#EBEBEB"><input name="member_lname" type="text" id="member_lname" value="<?=$member_lname;?>" size="30" placeholder="ภาษาไทยเท่านั้น" required="required" "/></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> </td> </tr> <tr> <td align="right" bgcolor="#EBEBEB">Username :</td> <td bgcolor="#EBEBEB"><input type="text" name="username" id="username" value="<?=$username;?>" placeholder="ตัวเลขหรือภาษาอังกฤษเท่านั้น" required="required"/></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> </td> </tr> <tr> <td align="right" bgcolor="#EBEBEB">Password : <label> </label></td> <td bgcolor="#EBEBEB"><input type="password" name="password" id="password" value="<?=$password;?>" placeholder="ตัวเลขหรือภาษาอังกฤษเท่านั้น" required/></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> </td> </tr> <tr> <td align="right" bgcolor="#EBEBEB">email : </td> <td bgcolor="#EBEBEB"><input name="email" type="email" id="email" value="<?=$email;?>" size="30" placeholder="ตัวอย่าง pisit.bow@gmail.com" required="required"/></td> </tr> <tr> <td bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> </td> </tr> <tr> <td bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> <input type="button" value=" ยกเลิก " onclick="window.location='ShowMember.php' " /> <!-- ถ้าไม่แก้ไขให้กลับไปหน้าแสดงรายการ --> <input type="submit" name="Update" id="Update" value="Update" /></td> </tr> <tr> <td bgcolor="#EBEBEB"> </td> <td bgcolor="#EBEBEB"> </td> </tr> </table> </form> |
4.ไฟล์สำหรับบันทึกการแก้ไขข้อมูลในลง database userupdate_db.php
เป็นไฟล์ที่รับข้อมูลจากฟอร์มและบันทึกลงใน database เมื่อทำงานสำเร็จจะมีหน้าต่างเด้งออกมาว่า “Update Succesfuly” และกระโดดกลับไปหน้า ShowMember.php เป็นอันเสร็จกระบวนการแก้ไขข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<meta charset="UTF-8"> <?php //1. เชื่อมต่อ database: include('connection.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี //ตรวจสอบถ้าว่างให้เด้งไปหน้าหลักและไม่แก้ไขข้อมูล if($_POST["member_id"]==''){ echo "<script type='text/javascript'>"; echo "alert('Error Contact Admin !!');"; echo "window.location = 'showmember.php'; "; echo "</script>"; } //สร้างตัวแปรสำหรับรับค่าที่นำมาแก้ไขจากฟอร์ม $member_id = $_POST["member_id"]; $member_name = $_POST["member_name"]; $member_lname = $_POST["member_lname"]; $username = $_POST["username"]; $password = $_POST["password"]; $email = $_POST["email"]; //ทำการปรับปรุงข้อมูลที่จะแก้ไขลงใน database $sql = "UPDATE tb_member SET member_name='$member_name' , member_lname='$member_lname' , username='$username' , password='$password' , email='$email' WHERE member_id='$member_id' "; $result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error()); mysqli_close($con); //ปิดการเชื่อมต่อ database //จาวาสคริปแสดงข้อความเมื่อบันทึกเสร็จและกระโดดกลับไปหน้าฟอร์ม if($result){ echo "<script type='text/javascript'>"; echo "alert('Update Succesfuly');"; echo "window.location = 'showmember.php'; "; echo "</script>"; } else{ echo "<script type='text/javascript'>"; echo "alert('Error back to Update again');"; echo "window.location = 'showmember.php'; "; echo "</script>"; } ?> |
ศึกษา SQL Injection เพิ่มเติม
https://www.w3schools.com/sql/sql_injection.asp
PHP mysqli_real_escape_string() Function
https://www.w3schools.com/php/func_mysqli_real_escape_string.asp
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com และทีมงานได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com/sornwebsites/