我从表中选择一个id,然后通过id获取所有成员的ID的名称。现在的问题是,如何按字母顺序对名称($uname)进行排序? 这可能很简单,但我被困住了..感谢您的帮助!!下面的代码 -
$sql= mysql_query("Select DISTINCT(`Supervisor ID`) from `list` ");
while($row = mysql_fetch_array($sql))
{
$id = $row['Supervisor ID'];
$query = "SELECT `Name` from `list` WHERE `ID` = '$id' ";
$name = mysql_query($query);
$username = mysql_fetch_array($name);
$uname = $username['0'];
$Supervisor .="<OPTION VALUE='"$uname'">".$uname.'</option>';
}
ORDER BY
子句用于任何类型的数据库排序。因此,在循环中更改查询,如下所示:
$query = "SELECT `Name` from `list` WHERE `ID` = '$id' ORDER BY Name ASC ";
获取更多信息: 按 cluase 订购
让我知道以获得进一步的帮助。
你可以在单个查询中做到这一点,试试这个。
$sql= mysql_query("Select DISTINCT Supervisor ID, Name from list ORDER BY Name ASC");
while($row = mysql_fetch_array($sql))
{
$uname = $row['1'];
$Supervisor .="<OPTION VALUE='"$uname'">".$uname.'</option>';
}
使用这个:-
$sql= mysql_query("Select DISTINCT(`Supervisor ID`) from `list` ");
while($row = mysql_fetch_array($sql))
{
$id = $row['Supervisor ID'];
$query = "SELECT `Name` from `list` WHERE `ID` = '$id' ";
$name = mysql_query($query);
$username = mysql_fetch_array($name);
/* Sore name in to an new array */
$uname[] = $username['0'];
}
排序你的名字 数组在这里使用
sort()
单击此处查看排序功能的演示
$user_names = sort($uname);
像这样创建期权价值
foreach($uname as $name) {
$Supervisor .="<OPTION VALUE='"$name'">".$name.'</option>';
}
SELECT `Name` from `list` WHERE `ID` = '$id' order by `Name` ASC
使用 order by
子句表示升序,使用 DESC 表示降序