【发布时间】:2015-08-04 17:09:56
【问题描述】:
我有一个显示 MySQLi 查询结果数组的页面。在此页面上,数据正确地出现在页面上,但对于我的$result['rows'],这是num_rows 的结果,每个记录都显示了数组结果,然后显示了数组结果。例如,如果查询有 100 条记录,则在数组结果之前会显示 100 次“100”。我知道这是因为我正在使用foreach,但我无法让它与其他任何东西一起使用。我试过while、for 和continue,但除了foreach 来正确检索数据外,没有任何效果。我错过了什么?
代码如下:
<?php
if($results) {
echo "<table id='test' class='tablesorter' border='2'>";
echo "<thead>";
echo "<tr>";
echo "<th class='header'># of Records</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
foreach($_SESSION['results'] as $result) {
echo "<tr>";
echo "<td>{$result['rows']}</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
}
?>
<?php
if($results) {
echo "<table id='test' class='tablesorter' border='2'>";
echo "<thead>";
echo "<tr>";
echo "<th class='header'>Date Set</th>";
echo "<th class='header'>Branch</th>";
echo "<th class='header'>Appointment Date</th>";
echo "<th class='header'>Employee</th>";
echo "<th class='header'>First Name</th>";
echo "<th class='header'>Last Name</th>";
echo "<th class='header'>Last Four</th>";
echo "<th class='header'>Phone</th>";
echo "<th class='header'>City</th>";
echo "<th class='header'>State</th>";
echo "<th class='header'>Zip</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
foreach($_SESSION['results'] as $result) {
echo "<tr>";
echo "<td>{$result['set_date']}</td>";
echo "<td>{$result['branch']}</td>";
echo "<td>{$result['appt_date']}</td>";
echo "<td>{$result['employee']}</td>";
echo "<td>{$result['fname']}</td>";
echo "<td>{$result['lname']}</td>";
echo "<td>{$result['last_four']}</td>";
echo "<td>{$result['phone']}</td>";
echo "<td>{$result['city']}</td>";
echo "<td>{$result['state']}</td>";
echo "<td>{$result['zip']}</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
}else{
echo "No Records Found";
}
?>
【问题讨论】:
-
您将 mysqli 结果存储在会话中?
-
@trex005 是的,它存储为会话。结果是正确的,但“num_rows”结果显示的次数与查询记录的次数相同。我希望它只显示一次。想要使用除“foreach”之外的其他东西,但没有其他东西可以返回查询结果
标签: php arrays mysqli echo mysql-num-rows