首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP:使用外部数据下单?

PHP:使用外部数据下单?
EN

Stack Overflow用户
提问于 2012-01-04 09:42:40
回答 2查看 216关注 0票数 2

大家好!长话短说,如果你不介意帮助这个新手PHPer的话。:)

我有一个名为"Categories“的数据库字段,其中存储了以下内容:

代码语言:javascript
复制
Fruit, People, Place, Animals, Landscape

我还在数据库中有一个单独的表,其中每个项目的字段中都有这些类别名称的项目。现在,该脚本(我正在尝试对其进行一些派生)使用:

代码语言:javascript
复制
SELECT DISTINCT(type), type FROM the_categories ORDER BY type ASC 

以便显示所有可用类别的列表。很简单,对吧?

很好。我不想按ASC排序,我想按我提到的第一个类别字段中的项目列表排序。无论它们的顺序是什么,我想要显示上面的“类型”的顺序。

显然,我将不得不在逗号上做一个爆炸,甚至可能给他们一个1到任何order....but……如何使用存储在另一个文件夹中的数据执行"orderby“?

这有可能吗?哈哈,再次感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-04 09:48:22

代码语言:javascript
复制
... ORDER BY FIELD(type,"Fruit","People","Place","Animals","Landscape")

http://www.cfdan.com/posts/Handy_MySQL_-_ORDER_BY_FIELD.cfm

票数 2
EN

Stack Overflow用户

发布于 2012-01-04 21:30:17

这样未来的旁观者就会有了……以下是分解代码

代码语言:javascript
复制
$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变量

代码语言:javascript
复制
SELECT DISTINCT(type), type FROM the_categories ORDER BY FIELD(type" . $theorder .")")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8721047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档