我使用以下代码来获取结果,并希望将其显示在两行中。
echo "<table border='0' width='700px' align='center'>";
echo "<tr>";
while($number = mysqli_fetch_array($result2))
{
echo "<td class='ball_p'>" . $number['number'] . "</td>";
**echo "</tr><tr>";**
echo "<td class='search'>" . $number['count'] . "</td>";
}
echo "<tr>";
echo "</table>";
因此我需要这部分代码不包含在循环中 echo“”;
请帮助,这一定非常简单。
我希望将结果显示为10,因为我将查询限制为 前10名。
所以它会是:
数字编号等计数计数等
答案 0 :(得分:0)
这个怎么样:
$i = 0;
while($number = mysqli_fetch_array($result2))
{
echo "<td class='ball_p'>" . $number['number'] . "</td>";
while($i++ >= 1)
{
echo "</tr><tr>";
$i = 0;
}
echo "<td class='search'>" . $number['count'] . "</td>";
}
我没有测试过,但是在第二次while循环中$ i之后的++应该在评估之后递增它,第一次跳过</tr><tr>
并在第二次打印它。
答案 1 :(得分:0)
因为表需要一次绘制一行,所以您可以将所有number
值存储在一个数组中,将所有count
值存储在第二个数组中,然后遍历每个在构建行时使用数组。所以首先从数据库中获取您的值:
// let's get a variable with the total number of records, i.e. horizontal cells:
$totalRecords = 0;
// get values from db:
while($number = mysqli_fetch_array($result2))
{
$numberArr[] = $number['number'];
$countArr[] = $number['count'];
$totalRecords++;
}
然后在另一组循环中渲染表(每行一个循环):
// first row
echo "<tr>";
for ($i = 0; $i < $totalRecords; ++$i) // you could also use count($numberArr) instead of $totalRecords
{
echo "<td class='ball_p'>" . $numberArr[$i] . "</td>";
}
echo "</tr>";
// second row
echo "<tr>";
for ($i = 0; $i < $totalRecords; ++$i)
{
echo "<td class='ball_p'>" . $countArr[$i] . "</td>";
}
echo "</tr>";