배열 질문입니다.

배열 질문입니다.

QA

배열 질문입니다.

본문

카테고리 구성을 하고있는데요

 

=================

idx  cate(varchar)  parent(int)

1       test

2      test-a                1

3      test-b                1

 

=================

 

parent가 없으면 1뎁스이고

있으면 idx값을 넣어주는데요 

이것을 배열로 처리하려고할때

 

 

 

[1] => Array

(

  [cate] => test

  [sub]  => Array(

            [0] => test-a

            [1] => test-b

  )

)

 

배열을 이렇게 만들려고하는데 잘안되네요ㅜ 도와주세요

 

 

이 질문에 댓글 쓰기 :

답변 3


$query = sql_query("SELECT * FROM test");
while($rows = sql_fetch_array($query)) {
    if(!$rows['parent']) $arr[$rows['idx']]['cate'] = $rows['cate'];
    if($rows['parent']) $arr[$rows['parent']]['sub'][] = $rows['cate'];
}

자식 필드에 값이 없으며너 배열[ 로우[idx] ] [cate]  = 로우[cate]

있으면 배열[ 로우[parent] ] [sub] [ 카운트 ] = 로우[cate]

형식으로 하시면 될거 같네요 카운트도 따로 만드시고요 대충 이런식일거 같네요

먼저 부모 카테고리만 쿼리해서 루프를 돌리고

루프 안에서 자식카테고리를 쿼리해서 루프로 배열에 넣어 주면 되겠습니다.

 

예)


$arr = array();
$res = sql_query(" select * from 카테고리테이블 where parent='' order by idx asc ");
for($i=0;$row=sql_fetch_array($res);$i++){
   $arr[$row['idx']]['cate'] = $row['cate']; 
   $sres = sql_query(" select * from 카테고리테이블 where parent='".$row['idx']."' order by idx asc ");
    for($j=0;$row2=sql_fetch_array($sres);$j++){
      $arr[$row['idx']]['sub'][$j] = $row2['cate'];
  }
}
 
print_r2($arr);
답변을 작성하시기 전에 로그인 해주세요.
전체 71
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT