영카트 if 문 질문있어용
본문
/shop/list.php?ca_id=10
/shop/list.php?ca_id=20
/shop/list.php?ca_id=30
/shop/list.php?ca_id=40
이 페이지에만 각각 다른 코드를 넣고 싶어요
예를 들어
/shop/list.php?ca_id=10 → <div id="s_vis_wrap01"></div>
/shop/list.php?ca_id=20 → <div id="s_vis_wrap02"></div>
/shop/list.php?ca_id=30 → <div id="s_vis_wrap03"></div>
/shop/list.php?ca_id=40 → <div id="s_vis_wrap04"></div>
이 코드를 넣을 수 있는 방법이 없을까요??
답변 5
$ca_id 가 일정하게 10, 20, 30 40만 들어온다면
<?php
$ca_id_sub= substr("$ca_id", 0);
?>
<div id="s_vis_wrap0<?=$ca_id_sub?>"></div>
표현하시려는게
s_vis_wrap01, s_vis_wrap02, s_vis_wrap03, s_vis_wrap04
말고 더있거나
들어오는값이 위의 이상으로 많거나 하면 다른방법을....
변화전의 값 : $a = array('10','20','30','40' ........ , '10000' );
변화 후의 값 : $b = array('01','02','03','04', .......... , 'NN');
$paramenter_value; 으로 값이 넘어온다면.
for($i = 0; $i < count($b); $i++) {
if ( $parameter_value == $a[$i ]) $c = $b[$i];
}
$dest_str = '<div id="s_vis_wrap'.$c.'"></div>';
으로 파라메터로 넘어온 값에 대한 변환 값으로 새로운 문자열이 만들어집니다.
<?php
$tmp_num = (int) ca_id / 10;
?>
<div id="s_vis_wrap0<?php echo $tmp_num ?>"></div>
저렇게 하시려는 이유를 적어주셔야 할것 같습니다
저 태크 아이디값으로 뭘하시려는지도 알아야하구요
다양한 방법들을 안내주셨는데요
전 약간 무식한 방법이지만. witch문으로 처리 하겠습니다.
경우에 따라 값이 바뀜을 대비해서
<?
$str = "";
witch($ca_id)
{
case "10" : $str ="s_vis_wrap01"; break;
case "20" : $str ="s_vis_wrap02"; break;
case "30" : $str ="s_vis_wrap03"; break;
case "40" : $str ="s_vis_wrap04"; break;
}
?>
<div id="<?=$str ?>"></div>
위와 같이 작업할듯합니다.
!-->