从db获取多个结果

时间:2012-08-16 10:33:22

标签: php foreach

我正在研究(面向对象的)PHP中的一个相当大的项目,其中包括一个用户可以购买产品和其他许可证和服务的网上商店。采购是一个四步过程:

  • 第1步:用户选择产品,product_id传递给第2步
  • 第2步:根据product_id获取并输出所有许可类型,并将product_id传递给第3步
  • 第3步:在名为product_id
  • 的复选框的表单中,根据services[$service_id]获取并输出所有服务

所以现在,在step 4结帐时,我从数据库中获取正确的产品和许可证,但我还必须根据服务数组从数据库中获取正确的服务,并计算价格为输出。最后,我将把服务数组分配给Smarty模板。

最合适的方式是如何做到的?我真的希望有人能够帮助我,因为我很难在这方面努力工作。

提前非常感谢你。

2 个答案:

答案 0 :(得分:1)

听起来你需要JOIN

类似于'产品'表和'许可'表上的JOIN,使用'product_id'字段进行连接。

示例查询类似于:

SELECT <required_fields_here>
FROM products
JOIN licences ON licences.product_id = products.product_id
WHERE product_id = <product_id_here>

请注意,在SELECT部分​​中,您可以从“产品”和“许可证”表中选择字段,只需要在表格前加上一个点,例如: 'PRODUCT.PRODUCT_ID'

如果您需要进一步的帮助,我认为您需要更加具体。希望它有所帮助。

答案 1 :(得分:1)

尝试使用


    $resulter = array();
    $i = 0;
     foreach($product_id as $value) {
     $query = "Select  FROM products WHERE product_id = $value"; 
Your execution code $resulter[$i] = $result; //$result could be a assoc array $i++ }

如果我收到你的话,我会使用像上面所示的多维数组。