以下是我需要进行查询的三个表。
r601_shoppingcart_carts
cart_id user_id customize
10 65 1
11 78 1
12 78 0
r601_shoppingcart_items:
cart_item_id cart_id sobipro_entry
5 10 87
39 11 194
40 11 140
38 12 126
r601_sobipro_field_data
fid sid baseData
45 194 cg_0059
45 140 cg_0094_4
45 141 cg_0011_2
如果该项目(产品)是可自定义的,则查询的所需结果将为特定用户(user_id)购物车提供baseData(产品编号)
在这种情况下,正确检索的数据应该显示user_id 78在他/她的购物车中有以下两个可自定义的项目: cg_0059 cg_0094_4
之前,我在这里显示了一个SELECT语句,该语句在左侧字段中显示出来。我发现以下SELECT语句实现了我的目标。我不知道这是否是一个有效的陈述。任何意见将不胜感激。
SELECT
r601_sobipro_field_data.baseData,
r601_sobipro_field_data.sid,
r601_shoppingcart_items.cart_id,
r601_shoppingcart_carts.cart_id
FROM
r601_sobipro_field_data,
r601_shoppingcart_items,
r601_shoppingcart_carts
WHERE
r601_sobipro_field_data.fid = 45
AND
r601_sobipro_field_data.sid = r601_shoppingcart_items.sobipro_entry
AND
r601_shoppingcart_items.cart_id = r601_shoppingcart_carts.cart_id
AND
r601_shoppingcart_carts.user_id = 78
AND
r601_shoppingcart_carts.customize = 1
我确实收到了一条有用的消息。谢谢!
答案 0 :(得分:0)
问题在于:
$partNo = $sobiBaseData_rows[$i]->baseData;
由于查询返回的值返回一个单独的数组,因此无法访问$ i元素。
如果每次只返回一个值,则可以将其作为:
访问$partNo = $sobiBaseData_rows[0]->baseData;
如果返回多个值,则可以循环显示值并将其存储在数组中。