$$$$한가지만 여쭙겠습니다.$$$$
본문
리스트에서 출력할때 wr_16부터 35까지 불러오는 건데요,,,
필드가 너무 많아서 정리하려고
16~35까지를 모두
name='wr_16[]' itemname='이미지0' value='<?php echo $wr_16[0]; ?>'
이런식으로 wr_16에 배열로 모두 넣었습니다...
아래의 리스트 출력을 어떻게 고쳐야 할지요,,,부탁 좀 드립니다.
<? $a = explode("|", $list[$i][wr_16]); echo $a[0];?> 이런내용인데..
<? $a = explode("|", $list[$i][wr_16]); echo $a[19];?>까지입니다
여기서 또 막히네요,,,아래를,,,
<? for($k=16; $k<36; $k++){ $wrfld="wr_".$k;
if($list[$i][$wrfld]) $img=$list[$i][$wrfld];
else $img=$board_skin_url.'/img/no_img.gif';
?>
답변 3
필드가 너무 많아 [배열]로 한곳에 넣었다고 하셨는데 내용을 보면 explode 구분자('|')로 자르고 있습니다. explode는 특정 구분자를 기준으로 문자열을 배열로 변환시켜주는 함수 입니다.
wr_16에 배열로 저장했다는 말씀이 앞서 답변해주신분 말씀대로 "a|b|c" 와 같이 구분자를 추가한 문자열 형태인지 아니면 배열로 저장했다는 말씀이 명확히 어떤 말씀인지 알아야 될것 같습니다. 제한된 정보 내에서 답변을 하기엔 어려움이 있습니다. 질문을 하실땐 최대한 자세히 해주시기 바랍니다.
구분자를 이용한 문자열로 저장했다고 이해하고 답변드리겠습니다.
// $list[$i][wr_16] = 'a||b|c'; (데이터가 이렇게 저장되어 있다고 가정할때)
$arWr16 = explode("|", $list[$i][wr_16]);
foreach($arWr16 as $val){
$img = ($val)? $val : $board_skin_url.'/img/no_img.gif';
echo $img.'<br />';
}
== 결과 ==
a
/img/no_img.gif
b
c
wr_16 값에 데이터가 어떻게 들어가는지 알아야 하구요..
인풋에 배열값을 지정을 햇는데 왜 explode로 배열을 다시 나누는지 이해가 안가구요..
포문은.. wr 의 숫자가 35 까지 지정하는건데 이거는 배열이 아니라 생각되는데...
설명이 너무 부족합니다.
일단 wr_16에 대이터가
a|b|c|d|e
이렇게 들어가있다는 가정하에
explode('|',$list[$i][wr_16]);
이렇게 짤라서 사용하셔야해요
wr_16에 배열을 짤라서 저장을 하시는게 아니구요