배열 for문으로 이미지 출력하기 질문...? 채택완료
<?
$items = explode(',',$view['wr_8']);
for( $i = 0; $i < count($items); $i++){
if($items[$i]=="AAA"){
echo "<img src='../img/home/1_ok.png' />";
}else{
echo "<img src='../img/home/1_no.png' />";
}
if($items[$i]=="BBB"){
echo "<img src='../img/home/2_ok.png' />";
}else{
echo "<img src='../img/home/2_no.png' />";
}
if($items[$i]=="CCC"){
echo "<img src='../img/home/3_ok.png' />";
}else{
echo "<img src='../img/home/3_no.png' />";
}
if($items[$i]=="DDD"){
echo "<img src='../img/home/4_ok.png' />";
}else{
echo "<img src='../img/home/4_no.png' />";
}
?>
체크박스 항목이 4가지가 있습니다.
AAA , BBB , CCC , DDD
위 4가지 항목중 자유롭게 체크하여
배열로 받아서 이미지로 출력하고 싶습니다.
AAA가 선택되어 있으면 1_ok 이미지..
AAA가 선택되어있지 않으면 1_no 이미지...
이런식으로 체크박스 선택을 어찌하였던
이미지는 무조건 4개가 나오도록 ,
그리고 체크가 되어 있다면 ok 이미지로 구현하고 싶은데..
그냥 if else로 했더니 전부 출력되어버리네요...
어떻게 식을 짜야할까요?
답변 2개
이미지의 파일명을 1_ok 이나 1_no 방식으로 하시지 마시고
a_ok 나 aaa_ok 나 aaa_no 방식으로 해서 하는게 좋을것 같습니다.
그럼 코드가 굉장히 간결해질것 같네요~
또는 1번 선택이면 1번 이미지 이렇게 가는방식이 좋습니다.
4가지가 고정이고 순서대로 한다면
$items = explode(',',$view['wr_8']);
if ($items[0] == "AAA") { echo "<img src='../img/home/1_ok.png' />"; } else { echo "<img src='../img/home/1_no.png' />"; }
if ($items[1] == "BBB") { echo "<img src='../img/home/2_ok.png' />"; } else { echo "<img src='../img/home/2_no.png' />"; }
if ($items[2] == "CCC") { echo "<img src='../img/home/3_ok.png' />"; } else { echo "<img src='../img/home/3_no.png' />"; }
if ($items[3] == "DDD") { echo "<img src='../img/home/4_ok.png' />"; } else { echo "<img src='../img/home/4_no.png' />"; }
그냥 이렇게 하셔도...
아니면 선택을 0부터 이미지 파일도 0부터 라고 한다면
$items = explode(',',$view['wr_8']);
for($i=0; $i<count($items); $i++){
if($items[$i] == $i){
echo "<img src='../img/home/".$i."_ok.png' />";
}else{
echo "<img src='../img/home/".$i."_no.png' />";
} // if
} //for
이렇게 하셔도 될것 같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
$items = explode(",", $view['wr_8']);
for($i=0, $j=1; $i<count($items); $i++, $j++) {
$st = $items[$i] == "" ? "no" : "ok";
echo "<img src='../img/home/".$j."_".$st.".png' />";
}
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
다만 문제가 하나 있는게...
체크박스에서 AAA,CCC,DDD를 선택한 경우에
배열 0번에 AAA, 1번에 CCC, 2번에 DDD가 들어가버려서
식이 어긋나버리네요 ㅠㅠ
체크박스를 다 선택하는 경우도 있고.. 1개만 선택하는 경우도 있고.. 1,3번만 선택하는 경우... 등등
여러가지 경우가 있어서 배열 위치가 고정되는 것은 아닙니다..
흠... 설명을 어떻게 해야할지 ㅠㅠ 모르겠네요..