테스트 사이트 - 개발 중인 베타 버전입니다

x쵸딩의 주문내역에서 채택완료

그누x쵸딩 5년 전 조회 4,301

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

이미지박스에 이미지주소가 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개

채택된 답변
+20 포인트
B
5년 전

</p>

<p>// io_id에서 숫자값을 구하는 방법은 다양합니다. 그 중 정규식으로 구하는 방법 남깁니다.</p>

<p>preg_match('/^\d+/', $row['io_id'], $match);

echo explode('|', $row['it_img1'])[$match[0]-1];</p>

<p> </p>

<p>// explode() 설명 및 예제를 읽어봤다면...</p>

<p>$t = explode('▲', $row['io_id']); // 예) 값 가운데, 구분하는 문자로 분리. $t[0]='3번', $t[1]='3'</p>

<p>echo explode('|', $row['it_img1'])[$t[1]-1]; // 이미지 구분 문자로 분리 후, 위에서 구한 숫자값으로 접근.</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그누x쵸딩
5년 전
친절한 설명 감사드립니다. 성공해보겠습니다~

댓글을 작성하려면 로그인이 필요합니다.

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

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

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

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

B
5년 전

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

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

</p>

<p><?=explode('|', $row['it_img1'])[0]?> // PHP v5.4 이상</p>

<p>// PHP v5.4 미만은 아래처럼</p>

<p><?=reset(explode('|', $row['it_img1']))?></p>

<p>

 

+ 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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인