Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > สอบถามเรื่องการ update หลาย rows ด้วย PK 2 ตัวครับ



 

สอบถามเรื่องการ update หลาย rows ด้วย PK 2 ตัวครับ

 



Topic : 114020



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์




รูปประกอบ

จากภาพ ต้องการอัพเดตจำนวนสินค้า โดยหักจากจำนวนที่เบิกครับ

ผมคิดว่าน่าจะใช้ foreach ครับ แต่นึกไม่ออกว่าจะอ้าง PK 2 ตัวพร้อมกันยังไง

รบกวนเขียนให้ดูแบบคร่าวๆนิดนึงครับ

ขอบพระคุณครับ



Tag : PHP, MySQL









ประวัติการแก้ไข
2015-01-27 00:40:40
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-01-27 00:13:03 By : sizeXL View : 835 Reply : 7
 

 

No. 1



โพสกระทู้ ( 2,249 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอน 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
 


 

No. 2



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ คุณ SiamHTTP

แต่ตรงจำนวนในอาเรอ่ะครับ จะเขียนให้รับค่ายังไงกรณีเปนตัวเลขอื่นที่ไม่ใช่แค่ 4,7 อ่ะครับ
อาจจะมีเพิ่มมาอีกหนึ่งจำนวนอ่ะครับ รบกวนอีกทีครับ นึกไม่ออกจริงๆ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-27 11:44:17 By : sizeXL
 

 

No. 3



โพสกระทู้ ( 2,249 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ก็ใช้ for หรือ foreach วนลูปเอาตามที่คุณถนัดเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-27 12:01:20 By : Manussawin
 


 

No. 4



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์


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
 


 

No. 5



โพสกระทู้ ( 2,249 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ลองดูครับ

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
 


 

No. 6



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ อัพเดตแบบ loop นี่เอง ขอบคุณ คุณ SiamHTTP มากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-02 02:15:35 By : sizeXL
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-02 10:46:19 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการ update หลาย rows ด้วย PK 2 ตัวครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่