【问题标题】:display data with same id显示具有相同 id 的数据
【发布时间】:2018-03-07 09:44:34
【问题描述】:

我有这样的桌子,

table name:product

cart id  product_name
1        fan   
2        tv
2        laptop
3        mobile
3        charger  
3        earphone

我需要展示

cart id=1
product name
fan

cart_id=2
product name
tv
laptop

cart_id=3
product name
mobile
charger
earphone

如何得到这个结果??

不需要sql连接, 我正在使用每个循环从对象中获取所有数据, 但我很困惑如何设置条件来获得这个结果?

这里的购物车 ID 将是动态的,这意味着它将随着用户在其帐户中使用不同产品创建购物车而递增。

【问题讨论】:

  • 你有没有尝试过?请发布您的尝试以及它出了什么问题。
  • 我仍然对如何存档这个结果感到困惑,我已经在尝试找到解决方案,但无法得到任何正确的结果,这就是为什么我在这里被问到
  • 循环遍历结果,如果cart_id改变了echo "cart_id" 和"product name",总是echo $row['product_name']
  • 感谢您的建议,但这就是我感到困惑的地方,如何检查 cart_id 上的更改
  • if($old_cart_id != $row['cart_id']) - 在每个循环结束时:$old_cart_id=$row['cart_id'] - (在循环初始化之前$old_cart_id=null

标签: php mysql sql loops


【解决方案1】:

您需要 2 张桌子

1. table_produk (save you product)
cart_id  product_name
1        fan 
2        tv
3        laptop
4        mobile
5        charger
6        earphone

2. table_display (store the data you want to display)
id  product_show
1        1
2        2
3        2
4        3
5        3
6        3

代码:

SELECT table_produk.produk_name
FROM table_display
LEFT JOIN table_produk ON table_produk.cart_id = table_display.id
WHERE table_produk.cart_id = 2

结果://电视、笔记本电脑

【讨论】:

  • 如果要显示所有数据,则需要条件 for、while() 或 foreach()
猜你喜欢
  • 2012-11-17
  • 2013-03-04
  • 1970-01-01
  • 2020-01-10
  • 2013-03-18
  • 1970-01-01
  • 2018-05-29
  • 1970-01-01
  • 2012-08-03
相关资源
最近更新 更多