php - 每个数据库条目的php单次使用循环
问题描述
我在 php、循环等方面没有太多经验,但我从我试图加载的页面复制了这段代码。这是汽车经销商的产品页面,我试图在表格中显示每辆车(我不知道足够的 CSS 来做到这一点)我只学习了 2 个月。
使用此代码,我可以让每辆车显示的次数与数据库中具有特定类别的条目一样多。
我已经删除了所有不相关的东西以使其更易于阅读,我希望有人可以帮助我在这个项目上工作太久了,当我最终每辆车有 4 辆时,我以为我终于可以让它工作了连续。
到目前为止,我已经尝试使用do-while
where do 对 $i 的值进行 if 语句计算,最终结果是未定义的变量警告为$title = [...]
asUndefined Variable row in...
用于在数据库中的每个条目运行一次循环的最佳方法是什么?
请原谅任何错误的输入,我已经筋疲力尽了。
while ($row = mysqli_fetch_assoc($result))
{
$count = mysqli_num_rows($result);
$title = ("$row[year] "."$row[brand] ". "$row[model]");
$uppic = $row['pic'];
$picloc = "/upload/$uppic";
$price = $row['price'];
$stock = $row['stocknr'];
for ($i = 1;$i <= $count; $i++)
{
if (($i == 1) or (($i - 1) % 4) == 0) {
echo '<table><tr>' . "\n";
}
echo "<td>";
echo "<table>";
echo "<tr>";
echo "<br><a href='$des'>
<span>$title</span></a>";
echo "</tr>";
echo "<tr>";
echo "<a href='$des'>
<img src='$picloc'></a>";
echo "</tr>";
echo "<tr>";
echo "<br><a href=''>
<span>$</span></a>";
echo "</tr></table>";
echo "</td>";
// for 5th, 10th, 15th etc record
if ((($i) % 4) == 0) {
echo '</tr>';
}
}
}
也试过这个:
for ($i = 0;$i <= $count; $i++)
{
$query = "SELECT year, brand, model, class, stocknr, price, status, pic
FROM stock WHERE class = 'car' ORDER BY brand ASC";
$result = mysqli_query($con,$query);
$row = mysqli_fetch_assoc($result);
$count=mysqli_num_rows($result);
do {
$title = ("$row[year] "."$row[brand] ". "$row[model]");
$uppic = $row['pic'];
$picloc = "/upload/$uppic";
$price = $row['price'];
$stock = $row['stocknr'];
if (($i == 1) or (($i - 1) % 4) == 0) {
echo '<table><tr>' . "\n";
}
echo "<td>";
echo "<table>";
echo "<tr>";
echo "<br><a href='d.php?stocknr=$stock'>
<span>$title</span></a>";
echo "</tr>";
echo "<tr>";
echo "<a href='d.php?stocknr=$stock'>
<img src='$picloc'></a>";
echo "</tr>";
echo "<tr >";
echo "<br><a href='d.php?stocknr=$stock'>
<span>R$p</span></a>";
echo "</tr></table>";
echo "</td>";
// for 5th, 10th, 15th etc record
if ((($i) % 4) == 0) {
echo '</tr>';
}
while ($i <= $count);
}
仅在页面加载时出现连接超时。
解决方案
使用以下代码:
$count = mysqli_num_rows($result);
$i = 1;
echo "<table>";
while ($row = mysqli_fetch_assoc($result))
{
$title = ("$row[year] "."$row[brand] ". "$row[model]");
$uppic = $row['pic'];
$picloc = "/upload/$uppic";
$price = $row['price'];
$stock = $row['stocknr'];
if($i%4==1) echo "<tr>";
echo "<td>";
echo "<table>";
echo "<tr>";
echo "<br><a href='$des'><span>$title</span></a>";
echo "</tr>";
echo "<tr>";
echo "<a href='$des'><img src='$picloc'></a>";
echo "</tr>";
echo "<tr>";
echo "<br><a href=''><span>$</span></a>";
echo "</tr></table>";
echo "</td>";
if($i%4==0 || $i == $count) echo '</tr>';
$i++;
}
echo "</table>";
推荐阅读
- python - 僵尸进程,我们又来了
- r - 将多行记录合并为一行
- ios - 如何以编程方式关闭一个视图控制器的所有 segue
- flutter - 如何获取动态添加到列表视图构建器中的自定义列表项的摘要
- c++ - 用于为 Azure IoT Central 发送事件的 JSON 格式
- rename - 用 case_when 重命名 R 中的因子水平
- python-3.x - 追加一个列表,直到达到大小限制,然后开始一个新列表
- python - skimage 在每个通道的 LAB 颜色空间中使用什么范围?
- javascript - 如何只获取数组的前 n%?
- c - rodinia 3.1 肌细胞基准中的奇怪结构