PHP MySQL Edit/Update Data Record(mysqli) |
PHP MySQL Edit/Update Data Record(mysqli) บทความนี้จะเป็นตัวอย่างของ mysqli การเขียน PHP เพื่อ Edit/Update หรือแก้ไขข้อมูลใน Database ของ MySQL โดยใช้ function ต่าง ๆ ของ mysqli ผ่านการเขียน query ด้วยคำสั่ง SQL Update ผ่าน MySQL Database
MySQL Table
CREATE TABLE `customer` (
`CustomerID` varchar(4) NOT NULL,
`Name` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
`CountryCode` varchar(2) NOT NULL,
`Budget` double NOT NULL,
`Used` double NOT NULL,
PRIMARY KEY (`CustomerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `customer` VALUES ('C001', 'Win Weerachai', '[email protected]', 'TH', 1000000, 600000);
INSERT INTO `customer` VALUES ('C002', 'John Smith', '[email protected]', 'UK', 2000000, 800000);
INSERT INTO `customer` VALUES ('C003', 'Jame Born', '[email protected]', 'US', 3000000, 600000);
INSERT INTO `customer` VALUES ('C004', 'Chalee Angel', '[email protected]', 'US', 4000000, 100000);
INSERT INTO `customer` VALUES ('C005', 'Weerachai Nukitram', '[email protected]', 'TH', 6000000, 0);
ฐานข้อมูลและตารางของ MySQL Database
Syntax รูปแบบการใช้งาน
$sql = "UPDATE table_name SET
Col1 = 'Value1' ,
Col2 = 'Value2'
WHERE Col3 = 'Value3' ";
$query = mysqli_query($conn,$sql);
Example ตัวอย่างการเขียน PHP กับ MySQL เพื่อ Edit/Update หรือแก้ไขข้อมูล ด้วย mysqli
list.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT * FROM customer";
$query = mysqli_query($conn,$sql);
?>
<table width="650" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
<th width="50"> <div align="center">Edit </div></th>
</tr>
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
<tr>
<td><div align="center"><?php echo $result["CustomerID"];?></div></td>
<td><?php echo $result["Name"];?></td>
<td><?php echo $result["Email"];?></td>
<td><div align="center"><?php echo $result["CountryCode"];?></div></td>
<td align="right"><?php echo $result["Budget"];?></td>
<td align="right"><?php echo $result["Used"];?></td>
<td align="center"><a href="edit.php?CustomerID=<?php echo $result["CustomerID"];?>">Edit</a></td>
</tr>
<?php
}
?>
</table>
<?php
mysqli_close($conn);
?>
</body>
</html>
edit.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "sa";
$userPassword = "";
$dbName = "mydatabase";
$strCustomerID = null;
if(isset($_GET["CustomerID"]))
{
$strCustomerID = $_GET["CustomerID"];
}
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT * FROM customer WHERE CustomerID = '".$strCustomerID."' ";
$query = mysqli_query($conn,$sql);
$result=mysqli_fetch_array($query,MYSQLI_ASSOC);
?>
<form action="save.php" name="frmAdd" method="post">
<table width="284" border="1">
<tr>
<th width="120">CustomerID</th>
<td width="238"><input type="hidden" name="txtCustomerID" value="<?php echo $result["CustomerID"];?>"><?php echo $result["CustomerID"];?></td>
</tr>
<tr>
<th width="120">Name</th>
<td><input type="text" name="txtName" size="20" value="<?php echo $result["Name"];?>"></td>
</tr>
<tr>
<th width="120">Email</th>
<td><input type="text" name="txtEmail" size="20" value="<?php echo $result["Email"];?>"></td>
</tr>
<tr>
<th width="120">CountryCode</th>
<td><input type="text" name="txtCountryCode" size="2" value="<?php echo $result["CountryCode"];?>"></td>
</tr>
<tr>
<th width="120">Budget</th>
<td><input type="text" name="txtBudget" size="5" value="<?php echo $result["Budget"];?>"></td>
</tr>
<tr>
<th width="120">Used</th>
<td><input type="text" name="txtUsed" size="5" value="<?php echo $result["Used"];?>"></td>
</tr>
</table>
<input type="submit" name="submit" value="submit">
</form>
<?php
mysqli_close($conn);
?>
</body>
</html>
save.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "UPDATE customer SET
Name = '".$_POST["txtName"]."' ,
Email = '".$_POST["txtEmail"]."' ,
CountryCode = '".$_POST["txtCountryCode"]."' ,
Budget = '".$_POST["txtBudget"]."' ,
Used = '".$_POST["txtUsed"]."'
WHERE CustomerID = '".$_POST["txtCustomerID"]."' ";
$query = mysqli_query($conn,$sql);
if($query) {
echo "Record update successfully";
}
mysqli_close($conn);
?>
</body>
</html>
Screenshot
แสดงรายการข้อมูล คลิก Record ที่จะ Update
ข้อมูลก่อนการแก้ไข
แก้ไขข้อมูล หรือเปลี่ยนแปลงข้อมูลใหม่
บันทึกการแก้ไข
เมือ่กลับมาหน้าที่แสดงรายการ จะเห็นว่ารายการข้อมูลถูกแก้ไขเรียบร้อยแล้ว
เมื่อกลับไปดูที่ Table บน MySQL Database ก็จะพบว่าข้อมูลถูกแก้ไขเช่นเดียวกัน
.
|