스크립안에 for문을 사용했는데 결과가 맞질않네요.
본문
"items": [
{
"display_name" : '<? echo $pname; ?>',
"sku" : '<? echo $prod_id; ?>'
},
{
"display_name" : '<? echo "Poor"; ?>',
"sku" : '<? echo "1234"; ?>',
}
],
쇼핑카트에 있는 상품을 출력하기위해서 매뉴얼로 위처럼 만들어주면 아래처럼 결과가 잘 나옵니다.!-->
"items": {
"4D5E6F": {
"display_name": "Poor Product Ever",
"sku": "4D5E6F"
},
"1A2B3C": {
"display_name": "Best Product Ever",
"sku": "1A2B3C"
}
},
그래서 아래처럼 스크립안에 php for문을 써서 만들어 보았는데 2번째 아이템만 출력이 되네요... 뭐가 잘못된건지 아무리봐도 알지못하겠습니다.
아시는분 답변주시면 감사하겠습니다.
<?php
echo '"items": [';
for($i=0; $i<$totalRows; $i++) {
$pname = $_SESSION['cart'][$i][0];
$prod_id = $_SESSION['cart'][$i][1];
echo '{';
echo '"display_name" : "'.$pname.'",';
echo '"sku" : "'.$prod_id.'"';
if($i < $totalRows){
echo '},';
} else if($i == $totalRows -1 ){
echo '}';
}
}
echo '],';
?>
답변 2
아래처럼하면 안되나요? <?php $array = array(); for($i=0; $i<$totalRows; $i++) { $pname = $_SESSION['cart'][$i][0]; $prod_id = $_SESSION['cart'][$i][1]; $array['items'][] = array( 'display_name'=>$pname, 'sku'=>$prod_id ); } echo json_encode($array);
?>
자바스크립트에 넣을떄는 아래처럼..
<script> var ar = <?php echo json_encode(
$array) ?>; </script>
답변감사합니다. 스크립트에 넣을때 이렇게 하니까 에러가 나는데 제가 맞게 한건가요?
var ar = <?php echo json_encode($encoded)?>;
답변을 작성하시기 전에 로그인 해주세요.