2009-06-03 133 views
0

我想排序查询结果到数组中。如何在php中对查询结果进行排序?

我有以下查询。

"select s.*, a.* from students left join addresses as a"; 

它返回

s.id 
s.name 
a.id 
a.student_id 
a.address 

我想使上述结果与S和密钥的阵列。

array(
    "s"=>array("id"=>"value","name"=>"value") 
    ,"a"=>array("id"=>"value","student_id"=>"value","address"=>"value) 
) 

我必须做我自己的功能吗?或者是否有内部功能?

+0

保罗Bergantino//谢谢!我正在修改我的问题:) – Moon 2009-06-04 00:01:48

+1

没问题;至于问题,为什么你觉得需要这样做? – 2009-06-04 00:02:52

回答

1

Aside:在您当前的代码中,我相信如果您选择行作为关联数组,则s.id将被a.id覆盖。现在

,上一个可能的方法......结果如何返回

一个方面是你失去从中柱来到表。如果你发现自己想要做的结果集的后处理,也许你可以通过重命名它像这样互为别名列:

$query = "SELECT 
    s.id   AS s_id 
    s.name  AS s_name 
    a.id   AS a_id 
    a.student_id AS a_student_id 
    a.address AS a_address 
    ... "; 

一旦你有,你可以组织基于SUBSTR($键,0数据1),并获得与SUBSTR了“相关的列名($键,2)。

一旦你拥有了这些,你可以每行创建您要使用的数据结构中循环。

1

如果没有其他原因,那么您必须自己去做,而不是从查询结果中查找表中的表。你只能得到列名。

相关问题