배열 질문입니다.

배열 질문입니다.

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

배열 질문입니다.

본문

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

 

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

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'];
}
주소복사
채택됨
답변의 댓글

블랙캣77님의 답변

자식 필드에 값이 없으며너 배열[ 로우[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);
주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 32
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중 포인트경매

  1. (중고) 하드디스크 750G , 2.5 인치

    참여1 회 시작19.07.23 20:21 종료19.07.28 20:21
  2. (중고) 씨게이트 하드디스크 1테라

    참여17 회 시작19.07.23 01:18 종료19.07.28 01:18

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT