Intereting Posts
Получить PHP для обновления с каждой строкой, возвращаемой командой оболочки get_browser () в Chrome возвращает 'Default Browser' Создавайте новые html-таблицы по годам, основываясь на изменении лет в порядке убывания Изображения как ссылки в базе данных MySQL? mod_fcgid + блокировка PHP + apache Regex соответствует строке между% Проблемы с синхронизацией сети, вызывающие PHP, «не удалось открыть поток: нет такого файла или каталога» Установленный DocBlox с Wamp и PEAR Есть ли способ, чтобы PHP обнаружил поврежденный образ? Laravel 5 получить имя PHP mail () не работает Как получить ошибку mysqli в разных средах? Плагин Facebook для отправки сообщений не отправляет приветственное сообщение пользователю PHP Предупреждение: PDOStatement :: execute (): SQLSTATE : Недопустимый номер параметра: параметры не были связаны Magento: отображать продукты из дочерних категорий, если родительская категория пуста

прокручивать базу данных и показывать в таблице

Я пытаюсь зациклиться на моей базе данных пользователей, чтобы показывать каждое имя пользователя в таблице в своей строке. Я могу заставить его показать только одного пользователя, но через это число строк. Код ниже

<?php require_once ('../login/connection.php'); include ('functions.php'); $query = "SELECT * FROM users"; $results=mysql_query($query); $row_count=mysql_num_rows($results); $row_users = mysql_fetch_array($results); echo "<table>"; for ($i=0; $i<$row_count; $i++) { echo "<table><tr><td>".($row_users['email'])."</td></tr>"; } echo "</table>"; ?> 

благодаря

mysql_fetch_array извлекает одну строку – вы обычно используете ее в цикле while, чтобы съесть все строки в наборе результатов, например

 echo "<table>"; while ($row_users = mysql_fetch_array($results)) { //output a row here echo "<tr><td>".($row_users['email'])."</td></tr>"; } echo "</table>"; 

Вы выбираете только одну строку:

 $row_users = mysql_fetch_array($results); 

Вы никогда не вызываете выборку снова, чтобы вы ни на что не зацикливались.

Я предлагаю изменить ваш цикл следующим образом:

 echo "<table>"; while ($row = mysql_fetch_array($results)) { echo "<tr><td>".($row['email'])."</td></tr>"; } echo "</table>"; 

Цикл while будет проходить через результаты и присваивать строку строке $ row, пока не закончится строка. Плюс нет необходимости иметь дело с получением подсчета результатов в этот момент. Это «обычный» способ перебрать результаты из базы данных в php.

В новом MYSQLI я использую это кодирование

 $query = "SELECT * FROM users"; $results=mysqli_query($con,$query); $row_count=mysqli_num_rows($results); echo "<table>"; while ($row = mysqli_fetch_array($results)) { echo "<tr><td>".($row['id'])."</td></tr>"; } echo "</table>"; mysqli_query($con,$query); mysqli_close($con); 

Ваша проблема в этой строке:

 echo "<table><tr><td>".($row_users['email'])."</td></tr>"; 

Вы снова повторяете <table> . Удалите это, чтобы ваш код выглядел так:

 echo "<table>"; for ($i=0; $i<$row_count; $i++) { echo "<tr><td>".($row_users['email'])."</td></tr>"; } echo "</table>"; 

Вам не нужно выводить таблицу внутри таблицы так, как вы ее делаете.

 $result = mysql_query("SELECT `email` FROM `users`"); $num_emails = mysql_num_rows($result); echo "<table><caption>There are/is $num_emails email(s)</caption>"; while ($row = mysql_fetch_assoc($result)) { echo "<tr><td>{$row['email']}</td></tr>"; } echo '</table>'; 

Что-то вроде этого должно работать.