簡體   English   中英

在更新MySql,PHP上將值從一個表插入到另一個表

[英]Insert Value From One Table to Another on Update MySql, PHP

我想知道是否有一種方法可以從表的列中獲取一個值並將其添加到另一表的列中。

方案:我有一張桌子(Shopping_Cart)。 它將所有我的客戶購物車項目存儲在CustomerIDPIDPriceStatus (狀態可以是“ IN_CART”,表示已添加,而“ OPEN”表示已付款,可以進行處理和運輸) 。 然后,我有一張桌子(產品)。 它將產品信息存儲在PID ,Price , Weight列中。 當我的顧客將商品放入購物車時,我不會記錄價格。 價格每天都會變化,因此,如果今天增加價格,明天回來時價格可能會上漲或下降。 當我的客戶結帳並確認付款后,我試圖在(Products)表中獲取“ Products.PID = Shopping_Cart.PID”中的價格,然后將該價格應用於Shopping_Cart.Price以鎖定該最終價格,因為該客戶已經付款了。 有任何想法嗎? 我設置好了該客戶購物車的項目,將其更改為“ OPEN”,但是讓我的腳本從一個表中獲取值並將其應用於另一個表時,我有些失落。 下面是我的PHP腳本,用於將行從“ IN_CART”更改為“ OPEN”。

if($The_Function=="CLOSE_LINES"){

    $cart_close_session_id = $_GET['close_session_id'];

    $response = array();


    require_once __DIR__ . '/db_connect.php';

    //connect to my db
    $db = new DB_CONNECT();

    $result = mysql_query("UPDATE shopping_cart SET Status = 'OPEN' WHERE SessionID LIKE '$cart_close_session_id' AND Status LIKE 'IN_CART'");

    if ($result) {
        $response["close_success"] = 1;

//GRAB PRICE FROM "PRODUCTS TABLE" AND UPDATE SHOPPING_CART 

    }else{
        $response["close_success"] = 0;
    }
    echo json_encode($response);
}

假設您有一個帶有價格product_id列的* shopping_cart *表,則可以使用products表的價格進行更新,如下所示:

UPDATE shopping_cart SET price = 
    (SELECT price FROM products WHERE id = shopping_cart.product_id)

您可以加入產品表,並在購買時更新shopping_cart,如下所示:

UPDATE shopping_cart c
  JOIN products p 
    ON p.pid = c.pid
   SET c.price = p.price
 WHERE c.customer_id = ?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM