Как отбирать строки таблицы из db (php)

Я хочу выделить все из определенного запроса. Если echo $ res, я получаю только одну из строк. Если я изменил второй аргумент mysql_result, я могу получить 2-й, 2-й и т. Д., Но я хочу, чтобы все они были повторены один за другим. Как я могу превратить результат mysql во что-то, что я могу использовать?

Я пытался:

$query="SELECT * FROM MY_TABLE"; $results = mysql_query($query); $res = mysql_result($results, 0); while ($res->fetchInto($row)) { echo "<form id=\"$row[0]\" name=\"$row[0]\" method=post action=\"\"><td style=\"border-bottom:1px solid black\">$row[0]</td><td style=\"border-bottom:1px solid black\"><input type=hidden name=\"remove\" value=\"$row[0]\"><input type=submit value=Remove></td><tr></form>\n"; } 

Обычный подход будет примерно таким:

 $query="SELECT * FROM MY_TABLE"; $results = mysql_query($query); while ($row = mysql_fetch_array($results)) { echo '<tr>'; foreach($row as $field) { echo '<td>' . htmlspecialchars($field) . '</td>'; } echo '</tr>'; } 

Расширение принятого ответа:

 function mysql_query_or_die($query) { $result = mysql_query($query); if ($result) return $result; else { $err = mysql_error(); die("<br>{$query}<br>*** {$err} ***<br>"); } } ... $query = "SELECT * FROM my_table"; $result = mysql_query_or_die($query); echo("<table>"); $first_row = true; while ($row = mysql_fetch_assoc($result)) { if ($first_row) { $first_row = false; // Output header row from keys. echo '<tr>'; foreach($row as $key => $field) { echo '<th>' . htmlspecialchars($key) . '</th>'; } echo '</tr>'; } echo '<tr>'; foreach($row as $key => $field) { echo '<td>' . htmlspecialchars($field) . '</td>'; } echo '</tr>'; } echo("</table>"); 

Выгоды:

  • Используя mysql_fetch_assoc (вместо mysql_fetch_array без второго параметра для указания типа), мы избегаем получать каждое поле дважды, один раз для числового индекса (0, 1, 2, ..) и второй раз для ассоциативного ключа.

  • Показывает имена полей в виде строки заголовка таблицы.

  • Показывает, как получить как column name ($ key), так и value (поле $) для каждого поля, как итерацию по полям строки.

  • Обернуто в <table> поэтому отображается правильно.

  • (OPTIONAL) умирает с отображением строки запроса и mysql_error, если запрос завершается с ошибкой.

Пример:

 Id Name 777 Aardvark 50 Lion 9999 Zebra 
  $result= mysql_query("SELECT * FROM MY_TABLE"); while($row = mysql_fetch_array($result)){ echo $row['whatEverColumnName']; }