【发布时间】:2016-07-18 05:32:54
【问题描述】:
我正在尝试以表格格式从数据库中获取数据。我将计数变量作为行数和 5 列。当我执行此查询时,所有结果都在多行和单列中获取。 这是我的代码:
<?php
include("connect.php");
$all_product = mysqli_query($connect, "SELECT * FROM product WHERE user_id='$fetch_user_id'");
echo '<table style="background-color:white; margin-left:50px; margin-right:50px;">';
$count = mysqli_num_rows($all_product);
$count = ($count / 5) + 1;
for ($i = 0; $i < $count; $i++) {
echo "<tr[$i]>";
for ($m = 0; $m < 5; $m++) {
echo "<td[$m]>";
while ($all = mysqli_fetch_array($all_product)) {
echo '<img src="' . $all['image'] . '" width="150px" height="150px" />
<div class="search_details">
<figcaption>' . $all['name'] . '</figcaption>
<figcaption>by ' . $all['brand'] . '</figcaption><figcaption>₨' . $all['price'] . '</figcaption>
<figcaption>Save: ₨' . $local_price . ', (' . $all['discount'] . '%)</figcaption><figcaption>In stock:' . $all['stock'] . '</figcaption></div>';
}
echo "</td[$m]>";
}
echo "</tr[$i]>";
}
echo "</table>";
?>
有什么帮助吗?我哪里错了? 提前谢谢你
【问题讨论】:
-
对我在一段时间内见过的最可怕的格式化代码投反对票
-
警告:当使用
mysqli时,您应该使用parameterized queries 和bind_param将用户数据添加到您的查询中。 不要使用手动转义和字符串插值或连接来完成此操作,因为如果您忘记正确转义某些内容,您将创建严重的SQL injection bugs。 -
我喜欢这个标题。谁会想到这一点。
-
@e4c5 现在可以了吗??
-
人们在这里很难缩进。这是因为大多数人没有太多时间来阅读您的问题并发现问题,而且还因为混乱的代码通常是混乱过程的标志。让事情保持整洁,有条理,错误变得更加明显。缩进代码的功能部分,there are many examples of how to achieve this,并保持一致。