2009-06-03 4 views
0

쿼리 결과를 배열로 정렬하려고합니다.PHP에서 쿼리 결과를 정렬하는 방법?

다음 쿼리가 있습니다.

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

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에 의해 덮어 쓸 것입니다.

자, 하나의 가능한 접근 ... 결과가 반환되는 방법

한 측면은 당신이 열을 가져온 테이블을 잃게됩니다. 당신은 자신이 결과 집합에 사후 처리를 할 싶은 찾을 경우, 아마 당신은 지금처럼 이름을 변경하여 각 열을 별칭 수 :

$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 –

관련 문제