php 변수에 스크립트 결과값을 대입해 쿼리를 날리는데 질문이있습니다.
본문
php 변수에 script 결과를 대입해서 쿼리를 날리는데 쿼리가 정상적으로 작동하지 않아서요..
아래는 코드 원문입니다.
<div class="date_ym">2017 년 06 월</div>
$date_1 ='<script>var mon = $(".date_ym").text().replace(" 년 ","").substring(4).replace(" 월","");var year = $(".date_ym").text().replace(" 월","").substring(0,4);if(mon<10){mon ="0"+mon;}document.write(year+mon);</script>';
$qry = "select * from [table] where $date_1 <= left(wr_1,6) or $date_1 <= left(wr_2,6) group by wr_1 order by wr_1 ASC LIMIT 0, $limit";
<div>값은 항상 바뀌는 값이기때문에 임시로 고정값을 주었습니다.
echo 로 $date_1 를 찍으면 201706 이런식으로 표시가 잘됩니다.
쿼리를 날릴때 다르게 해주어야할 것이있나요?
!-->답변 3
/*
input 태그를 이용 하지 않으시고
혹 2017 년 06월이 php 변수로 되어있다면
$temp_date="2017 년 06 월";
*/
$ex_temp=explode("년", $temp_date);
$year=intval($ex_temp[0]);
$mon=intval($ex_temp[1]);
$mon=($mon<10)?"0".$mon:$mon;
$date_1 = $year.$mon;
//echo $date_1; //확인
$qry
=
"select * from [table] where '$date_1' <= left(wr_1,6) or '$date_1' <= left(wr_2,6) group by wr_1 order by wr_1 ASC LIMIT 0, $limit"
;
$date_1를 '' 로 한번 감싸보세요
echo 로 $date_1 를 찍으면 201706 이런식으로 표시가 잘됩니다<--그거야 echo 된
<script>~~~</script>를 브라우저에서 실행하니 document.write가 실행 되어서 결과값이 출력이 되겠죠
그런데 저 $date_1 이라는 변수의 값을 쿼리문에 넣으면 쿼리문속에서 자바스크립트가 실행될 리가 없죠
자바스크립트는 브라우저에서 실행 되는 것인데 쿼리문은 서버에서 실행되는 것이니
결국 이런 쿼리를 실행하는 것 아니겠어요?
select * from [table] where '<script>var mon = $(".date_ym").text().replace(" 년 ","")~~document.write(year+mon);</script>' <= left(wr_1,6)~~
이런 쿼리문은 없습니다
답변을 작성하시기 전에 로그인 해주세요.