$$$$한가지만 여쭙겠습니다.$$$$

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
$$$$한가지만 여쭙겠습니다.$$$$

QA

$$$$한가지만 여쭙겠습니다.$$$$

본문

리스트에서 출력할때 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 

감사합니다~
그런데

<? 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';
?> 이는 각각의 필드를 불러오는데

각각의 필드를 분할필드 wr_16에  a||b|c 이와같은 형태로 이미지url을 집어넣었으니
위 for문을 분할필드에 맞게 고쳐야 합니다..

말씀하신 코드는 분할필드 내용이 전부출력되고,,이미지형태로 나오지 않네요...

wr_16 값에 데이터가 어떻게 들어가는지 알아야 하구요.. 

 

인풋에 배열값을 지정을 햇는데 왜 explode로 배열을 다시 나누는지 이해가 안가구요..


포문은.. wr 의 숫자가 35 까지 지정하는건데 이거는 배열이 아니라 생각되는데...


설명이 너무 부족합니다.

제가 어벙벙한 허접이라 설명도 허접합니다. ㅋ

원래는 필드16~36까지 각각 저장되었구요,,그걸 리스트에서 불러올 때
위의 for문을 사용한 것입니다.

그런데 이제 필드가 너무 많아 줄이려고 16~35까지의 필드를
wr_16에 배열로 모두 집어넣었습니다.

이런 내용에 맞게 위의 for문을 다시 바꿔줘야 하는 상황입니다.
write.skin.php에서는 상단에
$wr_16 = explode("|", $write['wr_16']); 이렇게 하고 업데이트스킨php에도 처리하고 저장했습니다,

일단 wr_16에 대이터가 

a|b|c|d|e

 

이렇게 들어가있다는 가정하에

 

explode('|',$list[$i][wr_16]);

이렇게 짤라서 사용하셔야해요

 

wr_16에 배열을 짤라서 저장을 하시는게 아니구요

네,,,,위의 for문에서 k부분을 0~19까지라고 하고...
$wrfld="wr_".$k;
if($list[$i][$wrfld]) $img=$list[$i][$wrfld]; 이부분을 바꿔줘야 할거 같은데요,,

$wrfld=<? $a = explode("|", $list[$i][wr_16]); echo $a[k];?> 뭐 이렇게,,,
어렵네요,,

답변을 작성하시기 전에 로그인 해주세요.
전체 15,116
QA 내용 검색
filter #php ×

회원로그인

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