테스트 사이트 - 개발 중인 베타 버전입니다

json 형식으로 채택완료

초초동 5년 전 조회 3,157

json으로 상품들의 정보를 끌어갈수 있게 만들고 있습니다.

상품의 기본적인 정보는 다 잘 됐는데, 옵션 부분을 어떻게 해야될지 모르겠습니다...ㅠ

 

</p>

<p>header('Content-Type:application/json; charset=utf-8');

$json_array = array();

$sql =" select * from {$g5['g5_shop_item_table']} where ca_id = '$ca_id' ";</p>

<p>$result = sql_query($sql);

for ($i=0; $row = sql_fetch_array($result); $i++) {</p>

<p>-</p>

<p>- 생략</p>

<p>$json_array[$i]["it_1"] = $row["it_1"]; 

}</p>

<p>$json_array = json_encode($json_array, JSON_UNESCAPED_UNICODE );

$json_array = prettyPrint( $json_array );

echo prettyPrint( $json_array );</p>

<p>

요런식으로 만들었는데...

옵션도 저런식으로 만드니깐 ...

뭔가 이상하게 나오더라고요 ㅠ

xml로는 아래와 같이 햇는데 ㅠ

 

</p>

<p><?</p>

<p>echo "<pOptions>\n";</p>

<p>$sql3 = " select * from {$g5['g5_shop_item_option_table']} where io_use = '1' and it_id = '{$row['it_id']}' order by io_no asc ";

$result3 = sql_query($sql3);</p>

<p>for($i=0; $row3=sql_fetch_array($result3); $i++) {

$opt_subject = explode(',', $row['it_option_subject']);

?>

<pOption>

<opName><?php echo $opt_subject ; ?></opName>

- 생략- 

</pOption>

<?php

}

echo "</pOptions>\n";

}

?></p>

<p>

 

출력하고,

파싱까지 다 잘 됐거든용 ㅠ

json이 문제라소ㅠㅠ

 

어떤식으로 json을 만들어야될까요?

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

5년 전

</p>

<p>header('Content-Type:application/json; charset=utf-8');

$json_array = array();

$sql =" select * from {$g5['g5_shop_item_table']} where ca_id = '$ca_id'  "; //

$result = sql_query($sql);

for ($i=0; $row = sql_fetch_array($result); $i++) {

   

    $json_array[$i]["code"]= specialchars_replace($row['it_id']); // 상품 고유번호

    $json_array[$i]["cate1"] = $row["ca_id"]; // 1차 카테고리

    // 생략 //

    $json_array[$i]["optionuse"] = $useoption; // 옵션 유무</p>

<p>    

    if($useoption =='2'){ // 옵션이 있으면</p>

<p>        $sql3 = " select * from {$g5['g5_shop_item_option_table']} where io_type = '0' and io_use = '1' and it_id = '{$row['it_id']}' order by io_no asc ";

        $result3 = sql_query($sql3);</p>

<p>        for($i=0; $row3=sql_fetch_array($result3); $i++) {

            $opt_subject = explode(',', $row['it_option_subject']);</p>

<p>            $json_array[$i]["opName"] = $opt_subject; </p>

<p>        }

    }

}</p>

<p>$json_array = json_encode($json_array, JSON_UNESCAPED_UNICODE );

$json_array = prettyPrint( $json_array );

echo prettyPrint( $json_array );

}</p>

<p>  </p>

<p>

 

이런식으로 했습니다...

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

L
LovelyCaT
5년 전
$json_array[$i]["optionuse"] 와 $json_array[$i]["opName"] 는 같은 선상에 있는 배열이네요.
prettyPrint 에서 딱히 순서나 다차원 배열 이동이 없었으면 첫번째 댓글에 올려주신 이미지대로 나오는게 맞습니다.
원하시는 출력방향대로 배열부터 손보셔야할 것 같네요~
초초동
5년 전
오매오매;;

for($a=0; $row3=sql_fetch_array($result3); $a++) {
로 바꾸니깐 됐어요;ㅋㅋ

하.. 바보 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

5년 전

https://sir.kr/g5_plugin/3318" rel="nofollow">https://sir.kr/g5_plugin/3318

 

요것을 살~짝 응용했습니당

 

 

 

요런식으로 나와야되는뎅..ㅠ

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

L
LovelyCaT
5년 전
질문에 올려주신
완성된 $json_array 데이터가 어떻게 나왔는지 보여주시겠어요?
$row["it_1"] 로 만들어진 형태라면
{"0":{"it_1":"값"},"1":{"it_1":"값"}} 이런식으로 나와야할 것 같은데..
초초동
5년 전
이거는 xml파일을 json으로 바꾼거라서 저렇게 나왓어요 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

5년 전

 

이런식으로 ㅠ

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

L
LovelyCaT
5년 전
이미지 주신 형식이 json 형식이 맞습니다..ㅎㅎ

댓글을 작성하려면 로그인이 필요합니다.

LovelyCaT
5년 전

die("{\"subject\":\"$subj\",\"content\":\"$cont\"}");

 

일반적인 json 형식입니다.

prettyPrint 무슨 함수인지는 모르겠으나..

$json = json_encode($json_array);

echo $json;

 

으로 넘겨주면 될거 같은데.. 안되시나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

초초동
5년 전
출력은 잘됐습니다 ㅠ
그런데
출력이 좀 이상하게 되더라구요 ㅠ

위에 제 댓글 처럼;ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인