从指定的字符开始排序


Start sort at specified charachter

我正在从数据库中获取表单选择列表的信息。我希望表单的默认值为橙色。表单选择选项是从用户更新的数据库中获取的("颜色")。所以橙色是唯一以"O"开头的颜色,所以我认为必须有一种方法可以用某个字符(在本例中为 O)开始排序顺序。

这是我从数据库中获取颜色列并将行放入表单选项选择中的内容。

$color_select = mysql_query("SELECT * FROM color");
/* Some stuff here */
echo '<select name="Color" id="color">'; 
while ($row_item = mysql_fetch_array($color_select)){ 
$pname = $row_item["color"]; 
echo "<OPTION value='"$pname'">$pname</OPTION>"; 
} 
echo '</SELECT>'; 
/* Some stuff here */

Order by i combination med if är trevligt

ORDER BY IF(color = 'orange', 0, 1), color;

Har du därimot flera specialfall är case användbar:

ORDER BY CASE color WHEN 'Orange' THEN 0 WHEN 'Red' 1 WHNE 'Green' THEN 2 ELSE 3 END, color;