Page 1 of 2
ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 12:45 pm
by php-php2
Code: Select all
<?
include("include/connection.php");
include ("chk_session.php");
include ("include/function.php");
$sql ="
DELETE FROM orders
WHERE orders_id = '$id'
";
mysql_query($sql) or die( mysql_error() );
$sql ="
SELECT *
FROM orders_detail
WHERE orders_id = '$id';
";
$result = mysql_query($sql) or die(mysql_error());
while( $data = mysql_fetch_array($result)) {
$productid =$data['product_id'];
$ordersquantity =$data['orders_detail_quantity'];
$sql ="
SELECT *
FROM product
WHERE product_id = '$productid';
";
$result = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($result);
$productquantity = $data['product_quantity'];
$restore = $productquantity+$ordersquantity;
$sql = "
UPDATE product
SET product_quantity = '$restore'
WHERE product_id = '$productid'
";
mysql_query($sql) or die( mysql_error() );
}
$sql ="
DELETE FROM orders_detail
WHERE orders_id = '$id'
";
mysql_query($sql) or die( mysql_error() );
?>
ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน แต่ทำแล้วมัน อับเดทให้ product เดียวอะครับ ไม่รุ้ว่าต้องใส่ตรงไหนเพิ่มช่วยดูให้ทีน่ะครับ
Re: ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 3:09 pm
by mindphp
โค้ดที่ยกมามีคำสั่ง UPDATE แค่ครั้งเดียวเองครับ
Re: ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 5:30 pm
by thank you
ผมต้องเขียน อะไรเพิ่มหรอครับ ให้มัน อับเดทสินค้า ที่สั่งซื้อไว้ ได้หลาย อันอะครับ
Re: ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 8:09 pm
by mindphp
ผมไม่รู้โครงสร้างของท่านนะครับ
แต่ที่น่ามีปัญหา คือ
Code: Select all
$result = mysql_query($sql) or die(mysql_error());
ใน Loop เปลี่ยนเป็นชื่ออื่นดูครับ
เพราะ พอมันทำงานเข้า loop ตัว result เดิมมันจะได้ตัวใหม่ที่ท่าน query ใหม่ไปใช้งานแทน
Re: ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 8:47 pm
by thank you
ผมลองไป แก้ใหม่แบบที่ผมเข้าใจอะครับ เลยได้แบบนี้มา ครับ
Code: Select all
<?
include("include/connection.php");
include ("chk_session.php");
include ("include/function.php");
$sql ="
DELETE FROM orders
WHERE orders_id = '$id'
";
mysql_query($sql) or die( mysql_error() );
$sql ="
SELECT *
FROM orders_detail
WHERE orders_id = '$id';
";
$result = mysql_query($sql) or die(mysql_error());
$query = mysql_query($sql);
while( $data = mysql_fetch_array($result)) {
$productid[] =$data['product_id'];
$ordersquantity[] =$data['orders_detail_quantity'];
}
for($i=0;$i<count($productid);$i++){
echo "\$productid".$productid[$i]."<br/>";
echo "\$ordersquantity".$ordersquantity[$ei]."<br/>";
$sql ="
SELECT *
FROM product
WHERE product_id = '$productid[$i]';
";
$result = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($result);
$productquantity = $data['product_quantity'];
$restore = $productquantity+$ordersquantity[$i];
$sql = "
UPDATE product
SET product_quantity = '$restore'
WHERE product_id = '$productid[$i]'
";
mysql_query($sql) or die( mysql_error() );
}
$sql ="
DELETE FROM orders_detail
WHERE orders_id = '$id'
";
mysql_query($sql) or die( mysql_error() );
?>
จิงๆ อยากเขียนแบบข้างบน ที่แนะนำมา แต่ผม ไม่รุ้จาแก้ยังไงอะครับ แบบว่า ผมเพิ่งหัดเขียนได้ไม่นานอะครับT^T แต่ไม่รุ้ว่าแบบนี้ที่ผมเขียน มันดีหรือไม่ดียังไง ช่วยแนะนำผมให้ทีน่ะครับ
Re: ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 8:53 pm
by 4404
ลืมขอบคุณ น่ะครับ ที่ช่วยแนะนำ ผมกำลังทำโปรเจคจบอยุ่ ครับ
Code: Select all
<?
echo "test ว่าเหนเปน สี code อิอิ";
?>
Re: ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 9:04 pm
by thank you
ม่ะกี้ลองไปทำ แบบที่ พี่ แนะนำผมมาม่ะกี้แล้วครับ เปลืย่น $result ในloop เป็น $result2 มันก้อได้เลยอะครับ
Code: Select all
$sql ="
SELECT *
FROM product
WHERE product_id = '$productid';
";
$result2 = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($result2);
Re: ผมสั่งยกเลิกใบสั่งซื้อแล้ว ให้อับเดท สตอค คืน
Posted: 12/03/2011 9:09 pm
by mindphp
ใช่เลยครับ แบบนี้ที่แนะนำ แต่จริงๆ ยังมีหลายหลายแบบนะครับ
ค่อยๆ ศึกษาไปครับเป็นประสบการณ์