如何从sql-query结果打印结果?

时间:2016-12-20 14:58:09

标签: php sql

我有这样的查询:

"SELECT product.title, SUM(order_product.item_count) AS total
 FROM `order_product` 
    INNER JOIN product ON product.id=order_product.product_id 
WHERE order_product.updated BETWEEN '$startInterval' 
  AND '$endInterval' 
  AND order_product.status=5 
GROUP BY order_product.product_id"

我成功地完成了。然后我将结果提取给一个对象。这里的麻烦是当我尝试打印“SUM(order_product.item_count)”这样的值时:

 foreach ($revenue as $value):     ?>
    <tr>
        <td class="text-left"><?= $value->title ?></td>
        <td class="text-left"> **<?= $value->SUM(order_product.item_count) ?>**</td>
    </tr>
    <?php endforeach; ?>

它返回错误:“致命错误:未捕获错误:在”中调用未定义的方法stdClass :: SUM() 帮助我,我尝试了很多方式,如别名sql,但它不起作用。

以下是查询后的结果:

<?php
    var_dump($revenue);
    if(isset($revenue)):
    foreach ($revenue as $value):     ?>
       <?= $value->title ?>
        <?= $value->total ?>

    <?php endforeach; endif; ?>

    array(2) { [0]=> object(stdClass)#8 (2) { ["title"]=> string(7) "1234123" ["SUM(order_product.item_count)"]=> string(6) "123123" } [1]=> object(stdClass)#9 (2) { ["title"]=> string(8) "tresadas" ["SUM(order_product.item_count)"]=> string(3) "999" } }

p / s:修复!

2 个答案:

答案 0 :(得分:6)

<?= $value->SUM(order_product.item_count) ?>更改为<?= $value->total) ?>。这是因为您在查询中将SUM(order_product.item_count)别名为total

答案 1 :(得分:3)

使用

$value->total

您在MySQL查询中将其定义为total,因此您可以在结果对象中使用它