想要使用php mysql在水平表中显示结果

时间:2013-11-27 20:06:48

标签: php mysql

我使用以下代码来获取结果,并希望将其显示在两行中。

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名。

     

所以它会是:

     

数字编号等计数计数等

2 个答案:

答案 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>";