0

我想知道是否有一种方法可以从表中的列中获取一个值并将其添加到另一个表中的列中。

场景:我有一张桌子(Shopping_Cart)。它将我所有的客户购物车项目存储在CustomerID, PID,列PriceStatus(状态可以是“IN_CART”,表示已添加,“OPEN”表示已付款并准备好处理和发货)。然后我有一张桌子(产品)。它将产品信息存储在列中PID,价格,重量`。当我的客户将商品放入购物车时,我不会记录价格。价格每天都在变化,所以如果他们今天添加一些东西,当他们明天回来时,他们的购物车中的价格可能会增加或减少。当我的客户结帐并确认付款时,我试图在 Products.PID = Shopping_Cart.PID 的 (Products) 表中获取价格,然后将该价格应用于 Shopping_Cart.Price 以锁定客户以来的最终价格已经为此付出了代价。有任何想法吗?我将其设置为将该客户购物车的项目更改为“打开”,但我有点迷失了让我的脚本从一个表中获取一个值并将其应用于另一个表。下面是我的 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);
}
4

2 回答 2

1

假设您有一个带有priceproduct_id列的 *shopping_cart* 表,您可以使用products表的价格更新它,如下所示:

UPDATE shopping_cart SET price = 
    (SELECT price FROM products WHERE id = shopping_cart.product_id)
于 2013-08-13T18:02:01.460 回答
0

您可以加入 products 表并在购买时更新 shopping_cart ,如下所示:

UPDATE shopping_cart c
  JOIN products p 
    ON p.pid = c.pid
   SET c.price = p.price
 WHERE c.customer_id = ?
于 2013-08-13T18:10:26.833 回答