2014-11-02 116 views
4

我有這個奇怪的問題。 有七個管理員:darth,jane,luke,najin,root,sam和sydney。雖然循環不顯示所有值

CODE:

<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

你有while循環,這將導致你跳過結果的第一行之前$admin = mysqli_fetch_assoc($result);一個冗餘呼叫。只要刪除它,你應該沒問題。

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); 

這必須是在while循環所以,你可以descard /刪除而

以上舊值