|
|
|
การอัพเดทข้อมูลหลายแถวในตาราง แต่มัยบันทึกเป็นค่าเดียวทั้งหมด |
|
|
|
|
|
|
|
บรรทัดที่ 6 กับ 12 คนละตัวแปร เกี่ยวกันไหมครับ
|
|
|
|
|
Date :
2011-08-24 13:51:43 |
By :
grandraftz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพราะคีย์มันเป็นตัวเดียวกันไงครับ
ค่อยๆคิดตามนะ
ข้อมูลสามตัว requis_no = 'PEA5/54' ทั้งสามตัวเลย
update requis_detail set equip_asset = 'mon002',quan = '5' WHERE requis_no = 'PEA5/54'
แปลเป็นไทยได้ว่า
แก้ไขตาราง requis_detail กำหนดให้คอลัม equip_asset มีค่าเป็น mon002
และ คอลัม quan มีค่าเป็น 5
โดยไปแก้ข้อมูลตัวที่ คอลัม requis_no มีค่าเป็น PEA5/54
นั่นหมายความว่า
จากที่ ข้อมูลสามตัว requis_no เป็น 'PEA5/54'
คำสั่งแรกมันก็แก้ครบสาม
คำสั่งที่สองที่สาม มันก็แก้ข้อมูลทั้งสามตัว ฉะนั้น
ค่าที่ได้มันเลยเป็นค่าของคำสั่งที่สามครับ
update requis_detail set equip_asset = 'mon002',quan = '5' WHERE requis_no = 'PEA5/54'
update requis_detail set equip_asset = 'prn002',quan = '10' WHERE requis_no = 'PEA5/54'
update requis_detail set equip_asset = 'cpu002',quan = '20' WHERE requis_no = 'PEA5/54'
นั่นเป็นเพราะค่าของ WHERE requis_no = '$pll' " ไม่เปลี่ยน เนื่องจากชื่อตัวแปรผิด
|
ประวัติการแก้ไข 2011-08-24 14:00:32 2011-08-24 14:00:40
|
|
|
|
Date :
2011-08-24 13:58:20 |
By :
iamatomix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับ ผมเข้าใจตามที่คุณ DJ.Atomix อธิบาย
แล้วผมควรทำยังไงครับเพื่อให้มันอัพเดทได้ตรงตามแถวที่เลือกมาครับ
|
|
|
|
|
Date :
2011-08-24 14:05:39 |
By :
kung1451 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มคีย์ตัวใหม่ที่ทำให้ข้อมูลมันต่างกันครับ
แล้วใช้คีย์ตัวนั้นมาเทียบแทน
ตัวอย่าง
ถ้าใน DB คุณเก็บว่าคุณมี เพื่อน 3 คน ชื่อ
นาย A
นาย B
นาย A
ถ้าคุณต้องการจะฆ่าคนชื่อ A ทิ้ง นั่นหมายความว่าก็จะมี คนตาย 2 คน ถูกมั้ยครับ?
แบบนี้จะทำให้คุณระบุคนที่คุณต้องการไม่ได้
วิธีที่ถูกต้องคือ คุณต้องเพิ่มรายละเอียดให้ทั้งสามคนแตกต่างกัน คือมีสิ่งที่ไม่มีทางซ้ำกันเข้ามา
เช่น จากที่เก็บชื่ออย่างเดียว ก็เก็บรหัสบัตรประชาชนด้วย เช่น
นาย A 111
นาย B 222
นาย A 333
ทีนี้เวลาคุณจะสั่งฆ่า คุณก็เทียบจาก เลขบัตรประชาชนแทนไงครับ
เช่น ฆ่าคนที่มีหมายเลขบัตร 333 ทิ้ง <<<< ทีนี้ก็ตายคนเดียว ถูกตัว
ทีนี้ต่อให้มีคนชื่อ A ซ้ำกันกี่พันคนก็ระบุตัวถูกครับ เพราะเลขบัตรประชาชนจะไม่ซ้ำกัน
|
|
|
|
|
Date :
2011-08-24 14:46:24 |
By :
iamatomix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้คุณใช้ Array ไม่ได้ครับ เพราะกรณีที่ค่าใดค่าหนึ่งว่าง ตำแหน่งของ Array จะเปลี่ยนไปทันทีครับ
|
|
|
|
|
Date :
2011-08-24 14:53:49 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูบทความนี้ครับ
Go to : PHP MySQL Multiple Rows Edit/Update Record
Code (PHP)
<?
$i =0;
while($objResult = mysql_fetch_array($objQuery))
{
$i = $i + 1;
?>
<tr>
<td><div align="center">
<input type="hidden" name="hdnCustomerID<?=$i;?>" size="5" value="<?=$objResult["CustomerID"];?>">
<input type="text" name="txtCustomerID<?=$i;?>" size="5" value="<?=$objResult["CustomerID"];?>">
</div></td>
<td><input type="text" name="txtName<?=$i;?>" size="20" value="<?=$objResult["Name"];?>"></td>
<td><input type="text" name="txtEmail<?=$i;?>" size="20" value="<?=$objResult["Email"];?>"></td>
<td><div align="center"><input type="text" name="txtCountryCode<?=$i;?>" size="2" value="<?=$objResult["CountryCode"];?>"></div></td>
<td align="right"><input type="text" name="txtBudget<?=$i;?>" size="5" value="<?=$objResult["Budget"];?>"></td>
<td align="right"><input type="text" name="txtUsed<?=$i;?>" size="5" value="<?=$objResult["Used"];?>"></td>
</tr>
<?
}
?>
กำหนดชื่อให้กับตัวแปรครับ
|
|
|
|
|
Date :
2011-08-24 14:55:26 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|