|
|
|
สอบถามเรื่องการ update หลาย rows ด้วย PK 2 ตัวครับ |
|
|
|
|
|
|
|
ตอน insert ลงตาราง order ก็ให้ทำการอัพเดท ตาราง product ด้วย
Code (PHP)
$amt_arr = array(4,7);
foreach($amt_arr as $amt){
insert into tb_order ....
update tb_product set amount=amount-$amt where pro_id = 'รหัสสินค้า'
}
|
|
|
|
|
Date :
2015-01-27 08:34:17 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ คุณ SiamHTTP
แต่ตรงจำนวนในอาเรอ่ะครับ จะเขียนให้รับค่ายังไงกรณีเปนตัวเลขอื่นที่ไม่ใช่แค่ 4,7 อ่ะครับ
อาจจะมีเพิ่มมาอีกหนึ่งจำนวนอ่ะครับ รบกวนอีกทีครับ นึกไม่ออกจริงๆ ขอบคุณครับ
|
|
|
|
|
Date :
2015-01-27 11:44:17 |
By :
sizeXL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ใช้ for หรือ foreach วนลูปเอาตามที่คุณถนัดเลยครับ
|
|
|
|
|
Date :
2015-01-27 12:01:20 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code PHP
<?
require("inc/conndb.php");
$query_select = "SELECT orders.*, products.* FROM orders JOIN products ON orders.p_id = products.p_id WHERE (o_id LIKE '%".$keyword."%') ORDER BY o_id ASC";
$result_select = mysql_query($query_select);
$rows = array();
while($row = mysql_fetch_array($result_select))
$rows[] = $row;
foreach($rows as $row){
$p_id= $row['p_id'];
$o_amt= $row['o_amt');
$o_date= $row['o_date'];
$o_id= $row['o_id'];
echo $o_id. '<br/>';
echo $p_id. '<br/>';
echo $o_amt. '<br/>';
echo $o_date. '<br/><br/><br/><br/>';
}
?>
<form action="" method="post">
<input type="submit" name="update" value="update">
</form>
<?
if(isset($_POST['update'])){
$update = "UPDATE orders JOIN products ON orders.p_id = products.p_id SET p_amt = p_amt - $o_amt WHERE orders.o_id = '$o_id' AND products.p_id = '$p_id'";
mysql_query($update);
echo '<meta charset="utf-8">';
exit("<script>alert('อัพเดตเรียบร้อย');</script>");
}
?>
พอดีที่ผมทำ ให้ orders มาก่อนแล้วค่อยตรวจสอบเพื่อให้อัพเดต products อ่ะครับ ไม่ได้อัพเดตพร้อมกับ insert orders
ตอนนี้ในฐานข้อมูลมี 3 แถวครับ
มันจะอัพเดตแค่เฉพาะแถวล่าสุดในฐานข้อมูลแถวเดียวเองครับ
|
ประวัติการแก้ไข 2015-01-27 17:55:08 2015-01-27 18:15:40
|
|
|
|
Date :
2015-01-27 17:52:32 |
By :
sizeXL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูครับ
Code (PHP)
<?
require("inc/conndb.php");
$query_select = "SELECT orders.*, products.* FROM orders JOIN products ON orders.p_id = products.p_id WHERE (o_id LIKE '%".$keyword."%') ORDER BY o_id ASC";
$result_select = mysql_query($query_select);
$rows = array();
while($row = mysql_fetch_array($result_select))
$rows[] = $row;
foreach($rows as $row){
$p_id= $row['p_id'];
$o_amt= $row['o_amt');
$o_date= $row['o_date'];
$o_id= $row['o_id'];
echo $o_id. '<br/>';
echo $p_id. '<br/>';
echo $o_amt. '<br/>';
echo $o_date. '<br/><br/><br/><br/>';
}
?>
<form action="" method="post">
<input type="submit" name="update" value="update">
</form>
<?
if(isset($_POST['update'])){
foreach($rows as $row2){
$p_id2 = $row2['p_id'];
$o_amt2 = $row2['o_amt');
$o_date2 = $row2['o_date'];
$o_id2 = $row2['o_id'];
$update = "UPDATE orders JOIN products ON orders.p_id = products.p_id SET p_amt = p_amt - $o_amt2 WHERE orders.o_id = '$o_id2' AND products.p_id = '$p_id2'";
mysql_query($update);
}
echo '<meta charset="utf-8">';
exit("<script>alert('อัพเดตเรียบร้อย');</script>");
}
?>
|
|
|
|
|
Date :
2015-01-28 17:01:53 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ อัพเดตแบบ loop นี่เอง ขอบคุณ คุณ SiamHTTP มากครับ
|
|
|
|
|
Date :
2015-02-02 02:15:35 |
By :
sizeXL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2015-02-02 10:46:19 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|