채택완료

영카트 if 문 질문있어용

2018-05-14 (월) 22:16:26 2,590

/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개 / 댓글 1개

채택된 답변
+20 포인트
2018-05-14 (월) 22:27:22

$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

말고 더있거나 

들어오는값이 위의 이상으로 많거나 하면 다른방법을....

답변에 대한 댓글 1개

알려주셔서 감사합니다!
염치없지만.. 혹 위의 이상으로 많으면 어떻게 해야할까요 ㅠㅠㅠ

다양한 방법들을 안내주셨는데요

전 약간 무식한 방법이지만. witch문으로  처리 하겠습니다.

경우에 따라 값이 바뀜을 대비해서

Copy
<?

$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>

위와 같이 작업할듯합니다.

2018-05-15 (화) 00:42:17

저렇게 하시려는 이유를 적어주셔야 할것 같습니다

저 태크 아이디값으로 뭘하시려는지도 알아야하구요 

Copy
<?php

$tmp_num = (int) ca_id / 10;

?>

<div id="s_vis_wrap0<?php echo $tmp_num ?>"></div>

변화전의 값 : $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>';

  으로 파라메터로 넘어온 값에 대한 변환 값으로 새로운 문자열이 만들어집니다.  

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