2015-10-22 94 views
0

什麼可能會導致我的foreach不會回我的數據庫中以正確的順序用戶(如爲了在我的數據庫的PHP的foreach

我的基本的foreach看起來像這樣的問題:?

foreach($users as $user) { 
    echo $user[username]; 
} 
+0

讓我看看你的數據庫查詢,讓所有用戶 –

+1

是的,原因可以是你的查詢,可能你只需要在其中添加「ORDER BY」... ... –

+0

添加雙引號字段的名稱('用戶名') –

回答

1

變化

echo $user[username]; 

echo $user['username']; 

可以使用驗證確切的鍵值:

print_r($user); 
0

希望這是您的查詢的問題。
您在查詢中嘗試使用SQL ORDER BY。它按照默認的升序/降序排列記錄。

0

由於我們不知道數據庫是如何生成的,而且您也沒有向我們顯示用於選擇數據的查詢,我將嘗試向您解釋如何按照您想要的順序選擇數據/需要。

我們假設你的表是MyUsers幷包含以下幾列:

  • MyUserID
  • 用戶名

如果你想選擇的ID下令只需要使用下面的查詢數據:

SELECT * FROM MyUsers ORDER BY MyUserID

PHP代碼,就會有這樣的事情:

foreach($users as $user) { 
    echo $user['Username']; // Ordered by ID 
} 

如果要通過用戶名只對它們進行排序:

SELECT * FROM MyUsers ORDER BY Username

PHP將是相同的,但這個時間值將被責令由用戶名(AZ)。

注意:在查詢中使用ORDER BY總是很好,因爲我們不能依賴默認的行順序。

如需進一步資料,特別是如果你是新的SQL/MySQL的,我建議你給看看以下幾個環節:

祝你好運,我希望這對你有所幫助!