【发布时间】:2020-08-13 06:14:47
【问题描述】:
我尝试使用数组从数据库中获取数据。但是当我在while中组合foreach时,它会在数据库中循环尽可能多的数据。如何停止循环?我已经做了休息功能但不起作用。我的代码中缺少什么。
这是我的代码:
<?php
$no=1;
if(mysqli_num_rows($query) > 0)
{
$useArray = array("A","B","B","C");
while($row = mysqli_fetch_array($query))
{
foreach ($useArray as $array)
{
echo"<tr>";
echo "<td>".$no."</td>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['grade']."</td>";
if($row['v1']>=2.000)
echo "<td class='bg-success'>".$row['v1']."</td>";
elseif($row['v1']>=1.500)
echo "<td class='bg-warning'>".$row['v1']."</td>";
elseif($row['v1']>=0.100)
echo "<td class='bg-danger'>".$row['v1']."</td>";
else
{
echo "<td class='bg-dark'>".$row['v1']."<h5>D</h5></td>";
}
echo "<td>".$array."</td>";
if ($array == "C") {
break;
}
echo "</tr>";
}
$no++;
}
}
else
{
?>
</tbody>
</table>
<?php
echo "No Point";
}
?>
结果如下
我先搜索,但没有工作。也许我错误地实现了代码。这是我的参考: Combining foreach and while in PHP , break out of if and foreach.
我的预期结果是:
总数据由数组中的字符串数量固定,因此如果数组中为 ("A","B","B","C"),那么在数据库中也只有 4 行。 任何帮助都将不胜感激。
【问题讨论】:
-
你对输出有什么期望?
foreach()循环与 SQL 查询有何关系? -
我只是编辑我的问题。 @NigelRen
-
@NigelRen SQL 查询获取数据以显示数据,
foreach为显示的每个数据放置字符串数组。 -
您能从数据库中添加一段 SQL 摘录吗?您当前正在遍历固定数组,并且仅在循环位于最后一个元素“C”时才中断循环。我无法真正理解你想要做什么。在您预期结果的图像中,您从哪里知道该行应该包含哪个字母?
标签: php