Некоторое время я просматривал сеть, чтобы найти способ заполнить таблицу HTML данными из таблицы MYSQL.
Из того, что я видел, я создал это, однако он возвращает только первую запись в таблице, и не только один раз, но продолжает добавлять ее вечно.
<?php
require "connect.php";
$conn = Connect();
$query = mysql_query("SELECT handle, email, campaigngroup FROM targets");
?>
<table>
<tr>
<td>Handle</td>
<td>Email</td>
<td>Group</td>
</tr>
<?php
while($row = mysql_fetch_row($query)) {?>
<tr>
<td><?php echo $row['handle'];?></td>
<td><?php echo $row['email'];?></td>
<td><?php echo $row['campaigngroup'];?></td>
</tr>
<?php } ?>
</table>
что будет лучшим способом достичь того, чего я хочу достичь? Я хотел бы, чтобы таблица HTML была такой же длины, как объем данных в таблице SQL.
Как я уже упоминал в комментариях:
это скорее всего ваш синтаксис для массивов. Смотрите руководство по этому http://php.net/manual/en/function.mysql-fetch-row.php Есть другие функции, которые вы можете использовать для этого, и вы используете не ту. Он пытается перейти к следующему указателю и никогда не находит его, поэтому он зацикливается навсегда. @IsaacManzi, ты бы хотел, чтобы я ответил на этот комментарий? 😉 из руководства: «Возвращает числовой массив, который соответствует выбранной строке и перемещает внутренний указатель данных вперед».
а также
если вы хотите использовать
$row['string']
вам придется использоватьmysql_fetch_array()
или жеmysql_fetch_assoc()
, Вы используете строку, где числовой массив используется сmysql_fetch_row()
,
Однако этот API устарел и больше не должен использоваться в наши дни.
Либо использовать mysqli_
или PDO API, и, если пользовательский ввод вовлечен, необходимо будет использовать подготовленный оператор. В противном случае вы можете столкнуться с SQL-инъекцией.
Вы заявили, что пробовали это с mysqli_
API в комментариях, и вы, вероятно, использовали mysqli_
эквивалентно этому, в свою очередь, давая вам тот же результат / цикл навсегда.
Вы также можете изучить использование нумерации страниц, которая также использует LIMIT для ограничения записей.
Других решений пока нет …