背景:控制面板允許具有某個「角色」(讀取:級別)的用戶創建和維護子用戶。有一個foreach()循環,它將與其帳戶關聯的所有子用戶顯示在文本字段中,以便於編輯。儘管它仍在開發中,但我仍然試圖對查詢進行排序,以便子用戶按照創建順序顯示。如何在foreach循環中進行ORDER BY?
我知道它不會排序的原因是由於查詢只選擇每個循環中的一個條目,因此沒有任何可以排序的東西。問題出在查詢需要在循環內部,因爲在'用戶名'字段中的數組值,因爲它在循環的每次通過時都是動態的。
// check for existing subusers
$findsubusers = mysql_query("SELECT * FROM `custportal` WHERE `parentid` = '". $_SESSION['id'] ."'");
$subusernum = mysql_num_rows($findsubusers);
if ($subusernum > 0) {
// subusers present, print them to editable form
echo "<h2>Edit Existing Users</h2><br />";
echo "<form method=\"post\" action=\"edit.php\">";
for ($num=1; $num <= $subusernum; $num++) {
// print all subusers
$subuserinfo = mysql_fetch_array($findsubusers);
echo "<p>Name: ";
echo "<input type=\"text\" name=\"subusername[]\" value=\"". $subuserinfo['username'] ."\" /></p>";
echo "<p>Password: ";
echo "<input type=\"text\" name=\"subuserpass[]\" value=\"". $subuserinfo['password'] ."\" /></p>";
echo "<input type=\"hidden\" name=\"subuserid[]\" value=\"". $subuserinfo['id'] ."\" />";;
}
echo "<input type=\"submit\" name=\"submitchanges\" value=\"Submit Changes\" />";
echo "</form><br /><br />";
}
SOLUTION:
$findsubusers = mysql_query("SELECT * FROM `custportal` WHERE `parentid` = '". $_SESSION['id'] ."' ORDER BY username ASC");
更新了代碼片段,這個更相關。 – SQueryL 2011-03-21 13:27:50
我是個白癡,問題解決了。 – SQueryL 2011-03-21 13:42:50