2011-04-28 4 views
0

얘들 아, 좋은 하루. 메신저를 배우기 시작하고 여전히 주변을 놀리는 것. 방금 예제와 같은 테이블 구조를 보았습니다. 어떻게 PHP에서 var_dump 사용할 때 SQL에서 쿼리를 얻을 수 있습니까? 더 많은 권력!MySQL의 초보자 : SQL 선택 문제

Table: categories 
id | name | 
1 | Cat A | 
2 | Cat B | 

Table: sub_categories 
id | category_id | name  | 
1 |  1  | Sub Cat A | 
2 |  2  | Sub Cat B | 

array 
    'Cat A' => 
     array 
     1 => string 'Sub Cat A' (length=9) 
    'Cat B' => 
     array 
     2 => string 'Sub Cat B' (length=9) 
+0

특정 검색어를 찾으셨습니까? 아니면 검색 결과가 배열 형태로 나타 났습니까? – Steve

+0

정확히 당신이 찾고있는/무엇을 요구하고 있습니까? mysql에 배열을 저장하는 간단한 방법은? (그래서 unserialize ($ array)는 (빠르고 더러운) 방법이다.) 아니면 두 테이블에 배열을 쓰는 insert 문을 찾고 있는가? 어떤 스토리지 엔진을 사용하고 있습니까? –

답변

2

카테고리 테이블을 반복하고이 카테고리에서 모든 행을 선택하고 배열을 채워야합니다.

$result = mysql_query("SELECT categories.name as catname 
    , categories.id as catid 
    , sub_categories.id as subcatid 
    , sub_categories.name as subcatname 
    FROM categories 
    LEFT JOIN sub_categories ON sub_categories.category_id = categories.id 
    WHERE categories.id = 1"); 

$rows = mysql_fetch_object($result); 
$result = array(); 
foreach($rows as $row) { 
    $result[$row->catname][] = array(
    'id' => $row->subcatid, 
    'category_id' => $row->catid, 
    'name' => $row->subcatname 
); 
} 

var_dump($result); 

안된지만 작동합니다 :

당신은 또한 (모든 범주를 원하는 경우 부품이 곳을 떠나) 아래의 예처럼 가입 사용할 수 있습니다.

+0

안녕 Rufinus! 빠른 응답에 감사합니다. 나는 이것을 시도 할 것이다. :) –

+0

'htmlspecialchars()'가 코드에서 호출되지 않았습니다. 아마도 코드의 다른 부분에서 호출되었을 것입니다. –

+0

그것이 작동합니다! 감사! –