|
php multiple insert ผ่าน Checkbox จะมาพูดเรื่อง Multiple INSERT BY Checkbox จะมีขั้นตอนที่ง่ายมาก |
สบายดีทุกๆท่าน
ในบทความนี้จะเป็นบทความครั้งแรกของผม จะมาพูดเรื่อง Multiple INSERT BY Checkbox จะมีขั้นตอนที่ง่ายมาก และ สามารถทำตามได้
DB :
จะมี mydatabase
และ Table ที่ใช้คือ customer,user ตามตัวอย่างครับ แบบ Basic บ้านๆ
SQL customer (PHP)
CREATE TABLE IF NOT EXISTS `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;
--
-- dump ตาราง `customer`
--
INSERT INTO `customer` (`CustomerID`, `Name`, `Email`, `CountryCode`, `Budget`, `Used`) VALUES
('C001', 'Win Weerachai', '[email protected]', 'TH', 1000000, 600000),
('C002', 'John Smith', '[email protected]', 'UK', 2000000, 800000),
('C003', 'Jame Born', '[email protected]', 'US', 3000000, 600000),
('C004', 'Chalee Angel', '[email protected]', 'US', 4000000, 100000);
SQL user (PHP)
CREATE TABLE IF NOT EXISTS `user` (
`UserID` varchar(4) COLLATE utf8_unicode_ci NOT NULL,
`UserName` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`Email` varchar(50) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INDEX(PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
// connect to db by mysqli
$serverName = "localhost";
$userName = "root";
$userPassword = "44@44";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
// end connect to db by mysqli
// SELECT TO INSERT
$customer = " SELECT * FROM customer ";
$Q_customer = mysqli_query($conn,$customer);
// END SELECT TO INSERT
?>
<?php
$CheckBox = $_POST['Ch_INSERT'];
if(isset($_POST["SAVE"]))
{
if(empty($CheckBox) || $CheckBox == 0 ) {
echo "Please Select Checkbox after click Save!!!";
}else{
foreach($_POST['Ch_INSERT'] as $i)
{
$INSERT = "INSERT INTO user (UserID,
UserName,
Email)
VALUES
('{$_POST['CustomerID'][$i]}',
'{$_POST['Name'][$i]}',
'{$_POST['Email'][$i]}')";
$Q_INSERT = mysqli_query($conn,$INSERT);
}
}
if($Q_INSERT)
{
echo "<script> alert('SAVE DONE !!!') </script>";
}
}
?>
<form action="#" name="Frm1" id="Frm1" method="post" enctype="multipart/form-data">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td colspan="7" align="center">PHP MYSQLI INSERT BY CHECKBOX</td>
</tr>
<tr>
<td>CustomerID</td>
<td>Name</td>
<td>Email</td>
<td>CountryCode</td>
<td>Budget</td>
<td>Used</td>
<td>Checkbox</td>
</tr>
<?php
$i = 0;
while ($row = mysqli_fetch_array($Q_customer,MYSQLI_ASSOC))
{
?>
<tr align="center">
<td> <input type="text" name="CustomerID[]" id="CustomerID"
value="<?php echo $row["CustomerID"]; ?>" />
</td>
<td> <input type="text" name="Name[]" id="Name"
value="<?php echo $row["Name"]; ?>" />
</td>
<td> <input type="text" name="Email[]" id="Email"
value="<?php echo $row["Email"]; ?>" />
</td>
<td> <input type="text" name="CountryCode[]" id="CountryCode"
value="<?php echo $row["CountryCode"]; ?>" />
</td>
<td> <input type="text" name="Budget[]" id="Budget"
value="<?php echo $row["Budget"]; ?>" />
</td>
<td> <input type="text" name="Used[]" id="Used"
value="<?php echo $row["Used"]; ?>" />
</td>
<td> <input type="checkbox" name="Ch_INSERT[]" id="Ch_INSERT" value="<?php echo $i++; ?>" /></td>
</tr>
<?php } ?>
<tr>
<td colspan="7" align="center"><input type="submit" id="SAVE" name="SAVE[]" value="SAVE" /></td>
</tr>
</table>
</form>
</body>
</html>
หลักการ
1. mysqli
2. SELECT ก่อน INSERT
3. Multiple INSERT
4. isset
5. if else
6. foreach
7. FORM
8. Input มี []
9. $i ++ ให้ Checkbox
สุดท้าย พูดมากไม่ดี Copy code ไปเล่นดูครับ
ต่อยอด Check Duplicate ได้น่ะครับ แต่ ขี้ค้าน ไปลองเล่นดูเองครับ
customer
user
index
output
output
Reference : http://hararockblogger.blogspot.com
|