2014-11-02 2 views
4

У меня возникла эта странная проблема. Есть семь админов: Дарт, Джейн, Люк, Наджин, Корень, Сэм и Сидней.Пока цикл не отображает все значения

КОД:

<table> 
      <tr> 
      <th style="text-align: left; width: 200px;">Username</th> 
      <th colspan="2" style="text-align: left;">Action</th> 
      </tr> 
     <?php 

      $sql = "SELECT * FROM admins ORDER BY Admin_Username ASC"; 
      $result = mysqli_query($connection, $sql); 
      $admin = mysqli_fetch_assoc($result); 

      while($admin = mysqli_fetch_assoc($result)) { 
      ?> 
      <tr> 
      <td><?php echo ($admin["Admin_Username"]); ?></td> 
      <td><a href="edit_admin.php?id=<?php echo urlencode($admin["id"]); ?>">Edit</a></td> 
      <td><a href="delete_admin.php?id=<?php echo urlencode($admin["id"]); ?>" onclick="return confirm('Are you sure you want to delete this admin?');">Delete</a></td> 
      </tr> 
     <?php  
} 
?> 
</table> 

Если я использую ASC заказ, первый администратор, Дарт не отображается в цикле, и если я использую DESC заказ, последний администратор, сидней не отображается. В чем может быть проблема?

ответ

4

Избавьтесь от первой линии $admin =.

Ваша петля выберет все из них; вам не нужно извлекать первую по отдельности (и если это происходит, то пропуская ее, потому что ваш цикл сразу извлекает второй, прежде чем можно будет выписать первый).

3

удалить эту строку

$admin = mysqli_fetch_assoc($result);//You already fetching the first result here 
2

У вас есть резервный вызов $admin = mysqli_fetch_assoc($result); перед while циклом, который заставит вас пропустить первую строку результата. Просто удалите его, и все будет в порядке.

2
<?php 

      $sql = "SELECT * FROM admins ORDER BY Admin_Username ASC"; 
      $result = mysqli_query($connection, $sql);  
      while($admin = mysqli_fetch_assoc($result)) { 
      ?> 
      <tr> 
      <td><?php echo ($admin["Admin_Username"]); ?></td> 
      <td><a href="edit_admin.php?id=<?php echo urlencode($admin["id"]); ?>">Edit</a></td> 
      <td><a href="delete_admin.php?id=<?php echo urlencode($admin["id"]); ?>" onclick="return confirm('Are you sure you want to delete this admin?');">Delete</a></td> 
      </tr> 
    <?php  
    } 
    ?> 
0
$admin = mysqli_fetch_assoc($result); 

Это должно быть в то время как цикл Таким образом, вы можете descard/удалить старое значение выше в то время как

Смежные вопросы