สอบถามเรื่อง Multiple insert record หน่อยครับ ต้องแก้ไขตรงไหนบ้าง
ขอความกรุณาช่วยดูให้ผมทีครับ Code จาก https://www.thaicreate.com/php/php-mysql-add-insert-multiple-record.html
ผมต้องการเอา Dropdownlist สำหรับเลือกจำนวนแถวออก และกำหนดจำนวน text field เองครับ
phpMySQLAddForm.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<form action="phpMySQLAddSave.php" name="frmAdd" method="post">
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="160"> <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="70"> <div align="center">Budget </div></th>
<th width="70"> <div align="center">Used </div></th>
</tr>
<tr>
<td><div align="center"><input type="text" name="txtCustomerID[]" size="5"></div></td>
<td><input type="text" name="txtName[]" size="20"></td>
<td><input type="text" name="txtEmail[]" size="20"></td>
<td><input type="text" name="txtCountryCode[]" size="2"></td>
<td align="right"><input type="text" name="txtBudget[]" size="5"></td>
<td align="right"><input type="text" name="txtUsed[]" size="5"></td>
</tr>
<tr>
<td><div align="center"><input type="text" name="txtCustomerID[]" size="5"></div></td>
<td><input type="text" name="txtName[]" size="20"></td>
<td><input type="text" name="txtEmail[]" size="20"></td>
<td><input type="text" name="txtCountryCode[]" size="2"></td>
<td align="right"><input type="text" name="txtBudget[]" size="5"></td>
<td align="right"><input type="text" name="txtUsed[]" size="5"></td>
</tr>
<tr>
<td><div align="center"><input type="text" name="txtCustomerID[]" size="5"></div></td>
<td><input type="text" name="txtName[]" size="20"></td>
<td><input type="text" name="txtEmail[]" size="20"></td>
<td><input type="text" name="txtCountryCode[]" size="2"></td>
<td align="right"><input type="text" name="txtBudget[]" size="5"></td>
<td align="right"><input type="text" name="txtUsed[]" size="5"></td>
</tr>
</table>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
phpMySQLAddSave.php
<?
$hostname = "localhost";
$user = "root";
$password = "1234";
$dbname = "ems";
$tblname = "arrive";
$objConnect = mysql_connect($hostname,$user,$password) or die ("ติดต่อฐานข้อมูลไม่ได้");
$objDB = mysql_select_db($dbname)or die ("ติดต่อฐานข้อมูลไม่ได้");
for($i=0;$i<count($_POST['txtCustomerID']);$i++)
{
$strSQL = "INSERT INTO arrive ";
$strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["txtCustomerID[$i]"]."','".$_POST["txtName[$i]"]."', ";
$strSQL .="'".$_POST["txtEmail[$i]"]."' ";
$strSQL .=",'".$_POST["txtCountryCode[$i]"]."','".$_POST["txtBudget[$i]"]."', ";
$strSQL .="'".$_POST["txtUsed[$i]"]."') ";
mysql_query($strSQL);
echo $strSQL;
}
echo "Save Done. Click <a href='phpMySQLListRecord.php'>here</a> to view.";
mysql_close($objConnect);
?>
ลอง echo $strSQL ดู
ขึ้นตามนี้ครับ
INSERT INTO arrive (CustomerID,Name,Email,CountryCode,Budget,Used) VALUES ('','', '' ,'','', '') INSERT INTO arrive (CustomerID,Name,Email,CountryCode,Budget,Used) VALUES ('','', '' ,'','', '') INSERT INTO arrive (CustomerID,Name,Email,CountryCode,Budget,Used) VALUES ('','', '' ,'','', '') Save Done. Click here to view.
ข้อมูลที่เข้าdatabase เป็นค่าว่าง
ขอความกรุณาด้วยครับ นั่งมึนมาหลายวันละ T TTag : PHP, MySQL
Date :
2013-03-19 21:12:51
By :
Ch-0
View :
651
Reply :
2
เป็นค่าว่างเพราะอ้างอิงค์ตัวแปรผิดนะครับ
อย่าง $_POST["txtCustomerID[$i]"] ต้องเป็น $_POST["txtCustomerID"][$i] แบบนี้ครับ ถึงจะมีข้อมูล
ตัวอื่นๆก็เหมือนกันครับ
Date :
2013-03-19 21:25:37
By :
Thaiwebapps
โอ้ว ขอบคุณมากครับ ตอบไวมาก ^___^
ถ้าผมเขียนแบบนี้จะให้ผลเหมือนกันมั้ยครับ
for($i=0;$i<count($_POST['txtCustomerID']);$i++)
{
$strSQL = "INSERT INTO arrive(CustomerID,Name,Email,CountryCode,Budget,Used)
VALUES ('$txtCustomerID[$i]','$txtName[$i]','$txtEmail[$i]','$txtCountryCode[$i]','$txtBudget[$i]','$txtUsed[$i]') ";
Date :
2013-03-19 21:30:49
By :
ch-o
Load balance : Server 02