购买产品的循环

时间:2018-03-23 21:08:26

标签: php

我有一个功能,可以使用analytics.js来获取所购买的产品以跟踪购买的产品,但是当我调用该功能时,购买页面中的结果仅显示第一个产品而没有进行循环。

我做错了什么?

 public function AddProductosAna($result) {
        $result2 = mysql_query("SELECT order_id FROM tborder WHERE cart_id = '$this->id_cesta'");
        $OrderId = mysql_fetch_array($result2);
        $result = mysql_query("SELECT * FROM cesta_linea WHERE id_cesta = '$this->id_cesta'");

        while ($row = mysql_fetch_array($result)) {
            $producto = $row['id_producto'];

            return <<<HTML

ga('ecommerce:addItem', {

  'id': '{$OrderId['order_id']}',

  'name': '{$producto}',

  'price': '{$row['precio']}',

  'quantity': '{$row['cantidad']}'

});

HTML;

        }
    }

1 个答案:

答案 0 :(得分:0)

正如Stupid Kid和Magnus Eriksson指出的那样,该函数应该在wile循环之后return,而不是在while循环中。

public function AddProductosAna($result) {
        $result2 = mysql_query("SELECT order_id FROM tborder WHERE cart_id = '$this->id_cesta'");
        $OrderId = mysql_fetch_array($result2);
        $result = mysql_query("SELECT * FROM cesta_linea WHERE id_cesta = '$this->id_cesta'");
        $js = '';
        while ($row = mysql_fetch_array($result)) {
            $producto = $row['id_producto'];

            $js .= <<<HTML

ga('ecommerce:addItem', {
  'id': '{$OrderId['order_id']}',
  'name': '{$producto}',
  'price': '{$row['precio']}',
  'quantity': '{$row['cantidad']}'
});

HTML;

        }
        return $js;
    }