2009-06-03 16 views
0

クエリの結果を配列にソートしようとしています。phpでクエリ結果を並べ替える方法は?

次のクエリがあります。

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

それは私がSの配列とキーにその上にしたいと思い

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

を返します。

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

私はそれを行うには私自身の機能を作るために持っているか、内部関数はありますか?

+0

パオロ・Bergantino//ありがとう!私は私の質問を変更しようとしていました:) – Moon

+1

問題はありませんが、これまでのところ、なぜこれを行う必要があると感じますか? –

+0

私はPaoloに同意します - なぜですかあなたにはこれが必要です? –

答えて

1

脇に:私は連想配列として行を選択すると、s.idがa.idによって上書きされると思います。

さて、上の1つの可能なアプローチ...結果が返されるかの

一態様では、列が来たからテーブルを失うです。あなた自身が結果セットに後処理をやりたいと思っ見つけた場合は、おそらくあなたはそうのように名前を変更することにより、各列のエイリアスを作成できます。

$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

PHPではクエリ結果から表が識別できない以外の理由があれば、自分で行う必要があります。列名のみを取得します。

+0

これは必ずしもそうではありません。彼がこのデータを照会するために使用しているライブラリによって異なります。 mysqli、例えば、この情報を入手しましょう。http://www.php.net/manual/en/mysqli-result.fetch-field.php –

関連する問題