Необходимо отобразить результаты MySQLi num_rows в отдельной таблице от результатов массива

У меня есть страница, которая отображает массив результатов запроса 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";
}
?>

0

Решение

+ Изменить

foreach($_SESSION['results'] as $result) {

echo "<tr>";
echo "<td>{$result['rows']}</td>";
echo "</tr>";

}

чтобы:

echo "<tr>";
echo "<td>{$_SESSION['results'][0]['rows']}</td>";
echo "</tr>";
0

Другие решения

Как насчет просто

$cnt = count($_SESSION['results'];
$s = ($cnt == 1) ? '' : 's';
echo "<th class='header'><?php echo $cnt ?> Record<?php echo $s ?></th>";

Не нужно зацикливаться на массиве, чтобы узнать, сколько там элементов — вот что count() для.

0

По вопросам рекламы [email protected]