x쵸딩의 주문내역에서

x쵸딩의 주문내역에서

QA

x쵸딩의 주문내역에서

본문

옵션에 따른 이미지를 불러오는데요,,,

이미지박스에 이미지주소가 1개씩 나와야 하는데

배열전부가 나옵니다.

 

3667102531_1593128097.2854.png

 

 

배열의 1개씩 나오려면 어떻게 해야 할까요?

 

코드는 이렇습니다.

 

<?
$result = sql_query("SELECT it_img1 FROM g5_shop_item WHERE it_id = '$opt[it_id]' ");
 for($i=0; $row=sql_fetch_array($result); $i++) {
?>
<ul class="gallery">
<div style="width: 70px;
    padding: 5px;
    text-align: center;
    border: 1px solid #6a6afa;margin-bottom:3px">

 

<?php echo $row[it_img1];?>


</div>
</ul>

<? } ?>

이 질문에 댓글 쓰기 :

답변 3


// io_id에서 숫자값을 구하는 방법은 다양합니다. 그 중 정규식으로 구하는 방법 남깁니다.
preg_match('/^\d+/', $row['io_id'], $match);
echo explode('|', $row['it_img1'])[$match[0]-1];
 
// explode() 설명 및 예제를 읽어봤다면...
$t = explode('▲', $row['io_id']); // 예) 값 가운데, 구분하는 문자로 분리. $t[0]='3번', $t[1]='3'
echo explode('|', $row['it_img1'])[$t[1]-1]; // 이미지 구분 문자로 분리 후, 위에서 구한 숫자값으로 접근.

출력된 결과물을 보니 '|'으로 구분된 문자열 값인데,

아래처럼 explode() 함수를 이용해 간단하게 첫 값만 출력할 수 있습니다.


<?=explode('|', $row['it_img1'])[0]?> // PHP v5.4 이상
// PHP v5.4 미만은 아래처럼
<?=reset(explode('|', $row['it_img1']))?>

 

+ explode()

- https://www.php.net/manual/en/function.explode.php

- http://docs.php.net/manual/kr/function.explode.php

 

+ reset()

- https://www.php.net/manual/en/function.reset.php

- http://docs.php.net/manual/kr/function.reset.php

상품옵션인데요 고객이 주문할 때 io_id 3번째 3번3을 신청하면 

it_img1배열중 이미지|이미지|이 이미지|이미지|

배열중 3번째를 불러와야 하는 내용입니다.

 

 

3667102531_1593178085.6432.png

답변을 작성하시기 전에 로그인 해주세요.
전체 271
QA 내용 검색

회원로그인

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