大家好!长话短说,如果你不介意帮助这个新手PHPer的话。:)
我有一个名为"Categories“的数据库字段,其中存储了以下内容:
Fruit, People, Place, Animals, Landscape我还在数据库中有一个单独的表,其中每个项目的字段中都有这些类别名称的项目。现在,该脚本(我正在尝试对其进行一些派生)使用:
SELECT DISTINCT(type), type FROM the_categories ORDER BY type ASC 以便显示所有可用类别的列表。很简单,对吧?
很好。我不想按ASC排序,我想按我提到的第一个类别字段中的项目列表排序。无论它们的顺序是什么,我想要显示上面的“类型”的顺序。
显然,我将不得不在逗号上做一个爆炸,甚至可能给他们一个1到任何order....but……如何使用存储在另一个文件夹中的数据执行"orderby“?
这有可能吗?哈哈,再次感谢!
发布于 2012-01-04 09:48:22
... ORDER BY FIELD(type,"Fruit","People","Place","Animals","Landscape")http://www.cfdan.com/posts/Handy_MySQL_-_ORDER_BY_FIELD.cfm
发布于 2012-01-04 21:30:17
这样未来的旁观者就会有了……以下是分解代码
$query2 = mysql_query("SELECT * FROM categorytable");
while($row = mysql_fetch_array($query2)){
$categories = html_entity_decode($row['categories']);
$thelist = explode(',', $categories);
foreach($thelist as $order){
if(trim($order) != ''){
$order = trim($order);
$order = ", '".$order."'";
$theorder .= $order;
}
}然后,对于查询,只需放入order变量
SELECT DISTINCT(type), type FROM the_categories ORDER BY FIELD(type" . $theorder .")")https://stackoverflow.com/questions/8721047
复制相似问题