отображать записи в таблице

0

У меня возникают некоторые проблемы с моим первым проектом PHP, я пытаюсь получить данные из базы данных MySQL (имеет 3 записи) и отображать их в таблицах. Проблема заключается в том, что только показывается запись 2 и 3, она пропускает 1-ю запись. См. Мой код и ниже.

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM unitstats");

while($row = mysqli_fetch_array($result)) {
  echo "<table border='1' style='color:white'>
  <tr>
  <th>ID</th>
  <th>Name</th>
  </tr>";

  while($row = mysqli_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['name'] . "</td>";
    echo "</tr>";
  }
  echo "</table>";
}

Изображение 174551

  • 0
    Что такое первое , while делать?
  • 0
    while($row = mysqli_fetch_array($result)) я не думаю, что вы знаете, что это делает TT
Показать ещё 3 комментария
Теги:
mysqli

3 ответа

1
Лучший ответ

вы используете два цикла while, которые необязательно используют следующий код

if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }

      echo "</table>";


echo "<table border='1' style='color:white'>
<tr>
<th>ID</th>
<th>Name</th>
</tr>";
$result = mysqli_query($con,"SELECT * FROM unitstats");

while($row = mysqli_fetch_array($result))
  {


echo "<tr>";
  echo "<td>" . $row['id'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "</tr>";
}
  echo "</table>";
  • 0
    является ли этот ответ чем-то иным, чем другие дали здесь? почему за него проголосовали, а за всех остальных проголосовали?
  • 0
    @ user2936213 спросите их, кто проголосует за этот ответ. В любом случае вы не видели, что этот ответ также принимается владельцем вопроса?
Показать ещё 3 комментария
1
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

echo "<table border='1' style='color:white'>
<tr>
<th>ID</th>
<th>Name</th>
</tr>";

$result = mysqli_query($con,"SELECT * FROM unitstats");

while($row = mysqli_fetch_array($result))
{
  echo "<tr>";
  echo "<td>" . $row['id'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "</tr>";
}
  echo "</table>";

В принципе вам не нужен начальный цикл, это в основном вызвало бы проблему, потому что вы бы повторно использовали $row со вторым циклом.

0

Просто удалите внешний цикл while и просто используйте это:

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM unitstats");


echo "<table border='1' style='color:white'>
<tr>
<th>ID</th>
<th>Name</th>
</tr>";

while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['id'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "</tr>";
}
echo "</table>";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню