我有一个功能,可以使用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;
}
}
答案 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;
}