2009-06-03 183 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

如果沒有其他原因,那麼您必須自己去做,而不是從查詢結果中查找表中的表。你只能得到列名。

相關問題