-1

有没有人看到这个错误?我没有打印出第二个循环所期望的结果。第二个循环标题如何打印没有问题。

我正在尝试从 SQL 数据库打印数据。

  <?php

$con= new mysqli('localhost','root','','regional_data');
if (mysqli_connect_errno()) {exit('Connection failed: '. mysqli_connect_error());}
$result = mysqli_query($con,"SELECT * FROM newchk WHERE dist_chk='$distUsr'");

echo "<table cellpadding='2' class='tablet' cellspacing='0'>";
echo
"<tr>
<th></th>"
."<th>"."Starting Cheque No"."</th>"
."<th>"."Ending Cheque No"."</th>"
."<th>"."Total No of Cheques remaining"."</th>"
."<th>"."Cheque Type"."</th>"
."</tr>";

while ($reca = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td><input type='checkbox' ></td>";
echo "<td>".trim($reca["sbstart"])."</td>";
echo "<td>".trim($reca["sbend"])."</td>";
echo "<td>".trim($reca["totsb"])."</td>";
echo "<td>SB</td>";
echo "</tr>";
}
echo "</table>";

        echo "<table cellpadding='2' class='tablet' cellspacing='0'>";
        echo
        "<tr>
        <th></th>"
        ."<th>"."Starting Cheque No"."</th>"
        ."<th>"."Ending Cheque No"."</th>"
        ."<th>"."Total No of Cheques remaining"."</th>"
        ."<th>"."Cheque Type"."</th>"
        ."</tr>";
        while ($reca = mysqli_fetch_array($result))
        {
        echo "<tr>";
        echo "<td><input type='checkbox' ></td>";
        echo "<td>".trim($reca["gwstart"])."</td>";
        echo "<td>".trim($reca["gwend"])."</td>";
        echo "<td>".trim($reca["totgw"])."</td>";
        echo "<td>GW</td>";
        echo "</tr>";
        }
        echo "</table>";


$con->close(); 
?>
</div>
4

2 回答 2

2
while ($reca = mysqli_fetch_array($result))

这将从结果集中获取所有结果。之后,结果集被耗尽,这就是循环结束的原因。之后不再从同一结果集中获取更多结果。

要么发出一个新查询,要么将数据保存到一个数组中,您可以根据需要多次循环。

于 2012-10-22T15:02:49.380 回答
0

我认为您不能两次使用相同的 $result 变量。

我会做的是以下几点:

$result = mysqli_query($con,"SELECT * FROM newchk WHERE dist_chk='$distUsr'");
$result2 = mysqli_query($con,"SELECT * FROM newchk WHERE dist_chk='$distUsr'");

然后你的第一个 while 循环可以使用mysqli_fetch_array($result),第二个可以使用mysqli_fetch_array($result2).

希望这可以帮助!

于 2012-10-22T15:05:43.033 回答