我正在尝试从购物车展示产品,但我收到以下错误(见下文)。我真的不明白我做错了什么......详细的答案和解释会很好。我试图找到问题的解决方案但没有成功。 我理解 未定义的变量意味着什么,但我不知道在这种特殊情况下如何修复它。
注意:未定义的变量:行
警告:为foreach()提供的参数无效
<html>
<body>
<table>
<tbody>
<?php
require_once 'core/config.php';
$cartQ = $db->query("SELECT * FROM cart");
$result = mysqli_fetch_assoc($cartQ);
foreach ($row as $product) {
$productQuery = $db->query("SELECT * FROM product INNER JOIN cart ON product.id=cart.product_id ");
$product = mysqli_fetch_assoc($productQuery);
while ($row = mysqli_fetch_assoc($cartQ)) {
}
?>
<tr class="p">
<td class="image"><img src="<?= $product['image_1']; ?>" /></td>
<td class="name"><?= $product['prod_name']; ?></td>
<td class="price"><?= money($product['price']); ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>
答案 0 :(得分:1)
摆脱第一个查询和foreach
循环,不需要它们。 JOIN
查询返回您需要显示的所有信息。
<html>
<body>
<table>
<tbody>
<?php
require_once 'core/config.php';
$productQuery = $db->query("SELECT * FROM product INNER JOIN cart ON product.id=cart.product_id ");
while ($product = mysqli_fetch_assoc($productQuery)) {
?>
<tr class="p">
<td class="image"><img src="<?= $product['image_1']; ?>" /></td>
<td class="name"><?= $product['prod_name']; ?></td>
<td class="price"><?= money($product['price']); ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>