x쵸딩의 주문내역에서
본문
옵션에 따른 이미지를 불러오는데요,,,
이미지박스에 이미지주소가 1개씩 나와야 하는데
배열전부가 나옵니다.
배열의 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()
!-->상품옵션인데요 고객이 주문할 때 io_id 3번째 3번3을 신청하면
it_img1배열중 이미지|이미지|이 이미지|이미지|
배열중 3번째를 불러와야 하는 내용입니다.
답변을 작성하시기 전에 로그인 해주세요.