作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我找不到解决问题的方法,有没有更好的方法?
它应该检查数据是否存在,如果存在,则用它和新数量的总和更新最后一个表数量。如果它不存在,则创建表。但我无法让它工作,表只是更新。(数据库中没有数据)
这是我的 php:
$SESSID = session_id();
//(session_id,bid,date_added,qty)
$q = "SELECT quantity FROM cart WHERE session_id = '$SESSID' AND item_id = '$itemID'";
$r = mysqli_query($dbc, $q);
$check = mysqli_fetch_assoc($r);
if($check=='' && $r==FALSE){
$addtocart = "INSERT INTO cart (item_id, quantity, date_added, session_id) VALUES ('$itemID', '$qty', '$datetime', '$SESSID')";
echo 'create';
}else{
$total = $r + $qty;
echo $total;
$addtocart = "UPDATE cart SET quantity = '$total' WHERE session_id = '$SESSID' AND item_id = '$itemID'";
echo 'update';
}
$r = mysqli_query($dbc, $addtocart);
//go to showcart
/*header("location:../tienda?cart");*/
exit;
}
最佳答案
只尝试一个查询:
INSERT INTO `cart` (`item_id`, `quantity`, `datetime`, `session_id`)
VALUES ('$itemID', '$qty', '$datetime', '$SESSID')
ON DUPLICATE KEY UPDATE `qty`=`qty`+values(`qty`)
这假设您的数据库表已正确构建,并且在 (`item_id`,`session_id`)
上有一个 UNIQUE KEY
。
关于php - 可以想办法得到这个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27555922/
我是一名优秀的程序员,十分优秀!