關聯性數據表的原理?有查詢到,但顯示不出來?

发布于 2022-09-07 15:37:55 字数 1443 浏览 13 评论 0

假設有商品數據表、用戶數據表
當我要製作購物車
我要顯示購物車所以有個購物車數據表
用戶的行為是加入這個商品進去購物車
但是我在購物車我要怎麼顯示才對?
我想到兩種方法
第一個是用戶加入之後順便帶入該商品的名稱等資訊到購物車數據表
然後再根據用戶的ID去撈他的購物車
但這方法假設商品改了資訊,所有東西也要跟著改

第二個方法是只帶入兩種值
一個是商品ID,一個是用戶的ID
但商品ID裡面有包括商品名稱 圖示
那這樣我要怎麼將購物車顯示?我能抓到的數據只有商品ID、用戶ID
我要怎麼關聯到另一個數據表?
根據商品ID,去抓商品數據表,再將商品資訊顯示?
這樣就不會有源頭修改商品資訊的更新問題
但這個方法我不知道怎麼顯示?

user 有 id
user_cart 有 prod_id, id
product 有 prod_id, name, icon

我的 mysql 查詢是

SELECT b.icon, b.name FROM user_cart as c
      LEFT JOIN product AS b ON c.prod_id = b.id
      Where c.user_id= '{$_SESSION["user-id"]}'

SELECT b.* FROM product as b
      LEFT JOIN user_cart as c ON c.prod_id = b.prod_id
      LEFT JOIN user AS a ON a.id = c.id
      WHERE c.id = '{$_SESSION["user-id"]}'

補充mysql結構

user_cart

clipboard.png

user

clipboard.png

product

clipboard.png

更新
我查詢到有東西
但就是顯示不出來?

clipboard.png

我顯示的代碼為:

<? while($row = mysqli_fetch_array($data)){?>
        <?=$row['name'];?>
      <?}?>

有錯誤嗎?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过潦 2022-09-14 15:37:55

第二种更合适,简单点设计的话商品ID,用户ID,商品数量就够了。
首先接口请求过来,拿到用户ID,这是前提。
再根据用户ID购物车表内查找对应的所有商品ID
最后去商品表根据商品ID列表找到对应商品。
其实和你自己形容的差不多步骤。

SELECT * FROM user_cart as c
LEFT JOIN product AS b ON c.prod_id = b.prod_id
WHERE c.id = '{$_SESSION["user-id"]}'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文