|
|
|
ถ้าใน form ผมเก็บข้อมูลแบบนี้ แล้วตอนบันทึกลงฐานข้อมูล ผมต้องloopแบบไหนครับ |
|
|
|
|
|
|
|
คือตอนนี้มันเข้าแค่ id_doc กับ title ของเอกสาร ซึ่งเป็นช่องที่เรากรอกเอง แต่ที่ข้อมูลที่ POST ไม่มาคือ ช่องที่ผมคิวรี่มาจากฐานข้อมูลครับ (พวกที่มี $is อยู่ด้านหลังอ่ะครับ)
อันนี้ส่วนฟอร์มนะครับ
Code (PHP)
<?php $is=1 ; do { ?>
<tr>
<td><? echo $is ; $is++?><label>
<input type="checkbox" name="id[<? $is ?>]" value="<?php echo $row_Recordset1['id']; ?>" />
<?php echo $row_Recordset1['name_thai']; ?></label>
<input type="hidden" name="name[<? $is ?>]"value="<?php echo $row_Recordset1['name_thai']; ?>" />
<input type="hidden" name="status[<? $is ?>]"value="unread" />
<input type="hidden" name="id_name[<? $is ?>]"value="<?php echo $row_Recordset1['id']; ?>" /></td>
</tr><? $is+1; ?>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
อันนี่ส่วน insert ครับ
Code (PHP)
echo 'มาถึง For แล้ว </br>'.$totalRows_Recordset1 ;
for($is=1;$is<=$totalRows_Recordset1;$is++)
{ echo ''.$is.'</br>';
if($_POST["id_doc"]!="")
{
echo "เก็บเข้าฐานข้อมูล ครั้งที่".$is."</br>" ;
echo $_POST["id_doc"].'</br>' ;
echo $_POST["title"].'</br>' ;
echo $_POST["id_name[$is]"].'</br>' ;
echo $_POST["name[$is]"].'</br>' ;
echo $_POST["status[$is]"].'</br></br>' ;
$insertSQL = sprintf("INSERT INTO `sent_doc` (id_doc, title, id, name_thai, status) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['id_doc'], "text"),
GetSQLValueString($_POST['title'], "text"),
GetSQLValueString($_POST["id_name[$is]"], "text"),
GetSQLValueString($_POST["name[$is]"], "text"),
GetSQLValueString($_POST["status[$is]"], "text"));
mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());
}
}
echo "ส่งเอกสารเรียบร้อยแล้ว";
}
?>
โค้ดผิดตรงไหน รบกวนช่วยดูหน่อยนะครับ คือมันเป็นการเพิ่มจาก ตารางที่ผมคิวรี่มาน่ะครับ
ส่วนที่ผม echo ไปเยอะ ๆ คือ ผมเช็คว่าค่ามันมาถึงหรือเปล่าน่ะครับ
ขอบคุณมากครับ
Tag : PHP, MySQL, HTML/CSS, Ajax, jQuery, CakePHP
|
|
|
|
|
|
Date :
2014-05-27 16:48:19 |
By :
benzsara |
View :
682 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูตัวอย่างนี้เพิ่มเติมครับ
Code (PHP)
if($_GET["Action"] == "Save")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE customer SET ";
$strSQL .="CustomerID = '".$_POST["txtCustomerID$i"]."' ";
$strSQL .=",Name = '".$_POST["txtName$i"]."' ";
$strSQL .=",Email = '".$_POST["txtEmail$i"]."' ";
$strSQL .=",CountryCode = '".$_POST["txtCountryCode$i"]."' ";
$strSQL .=",Budget = '".$_POST["txtBudget$i"]."' ";
$strSQL .=",Used = '".$_POST["txtUsed$i"]."' ";
$strSQL .="WHERE CustomerID = '".$_POST["hdnCustomerID$i"]."' ";
$objQuery = mysql_query($strSQL);
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
PHP MySQL Multiple Rows Edit/Update Record
|
|
|
|
|
Date :
2014-05-27 17:26:00 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองแล้วครับพี่
$_POST["id_name$is"]
ก็ยัง echo ออกมาว่าง
เลยลองมาทำแบบ $_POST["id_name[$is]"]
ดู เผื่อได้ แต่ก็ไม่ได้อ่ะครับ ลองดูจุดอื่นให้หน่อยได้ไหมครับ
|
|
|
|
|
Date :
2014-05-27 18:48:47 |
By :
benzsara |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จาก
<input type="hidden" name="name[<? $is ?>]"value="123" />
ถ้ากำหนดให้มันเป็น Array ต้องทำแบบนี้ค่ะ $_POST["name"][$is]
|
|
|
|
|
Date :
2014-05-27 20:20:11 |
By :
MiRoKoJuNg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอสรุปครับผม
input ต้องเป็น
Code (PHP)
<input type="hidden" name="name[<? $is ?>]"value="<?php echo $row_Recordset1['name_thai']; ?>" />
<input type="hidden" name="status[<? $is ?>]"value="unread" />
<input type="hidden" name="id_name[<? $is ?>]"value="<?php echo $row_Recordset1['id']; ?>" /></td>
และการส่งข้อมูลต้องเป็น
Code (PHP)
GetSQLValueString($_POST["id_name"][$is], "text"),
GetSQLValueString($_POST["name"][$is], "text"),
GetSQLValueString($_POST["status"][$is], "text"));
ครับ ทดสอบแล้วได้ผลครับ
(พักนี้ทำไม nonmember มาตอบเยอะจังแหะ ตอบถูกซะด้วย หลายกระทู้แล้ว)
ขอบคุณทุกท่านนะครับ
|
ประวัติการแก้ไข 2014-05-28 11:00:20
|
|
|
|
Date :
2014-05-28 10:59:58 |
By :
benzsara |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|