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

php 변수에 스크립트 결과값을 대입해 쿼리를 날리는데 질문이있습니다. 채택완료

경하귀요밍 8년 전 조회 2,331

php 변수에 script 결과를 대입해서 쿼리를 날리는데 쿼리가 정상적으로 작동하지 않아서요..

아래는 코드 원문입니다.

 

</p><p><div class="date_ym"><span style="font-size: 11pt;">2017 년 06 월</span><span style="font-size: 11pt;"></div></span></p><p>$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>'; </p><p> </p><p>$qry  = "select  * from [table] where $<span style="font-size: 14.6667px;">date_1 </span><= left(wr_1,6) or $<span style="font-size: 14.6667px;">date_1 </span><=  left(wr_2,6) group by wr_1 order by wr_1 ASC LIMIT 0, $limit"; </p><p>

<div>값은 항상 바뀌는 값이기때문에 임시로 고정값을 주었습니다.

 

echo 로 $date_1 를 찍으면 201706 이런식으로 표시가 잘됩니다.

쿼리를 날릴때 다르게 해주어야할 것이있나요?

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

답변 3개

채택된 답변
+20 포인트
o
8년 전

</p><p>/*</p><p>input 태그를 이용 하지 않으시고 </p><p>혹 2017 년 06월이 php 변수로 되어있다면</p><p>$temp_date="2017 년 06 월"; </p><p>*/</p><p>$ex_temp=explode("년", $temp_date);</p><p>$year=intval($ex_temp[0]);</p><p>$mon=intval($ex_temp[1]);</p><p>$mon=($mon<10)?"0".$mon:$mon;</p><p>$date_1 = $year.$mon;</p><p>//echo $date_1; //확인</p><div>
로그인 후 평가할 수 있습니다

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

8년 전

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)~~


이런 쿼리문은 없습니다


 

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

답변에 대한 댓글 1개

경하귀요밍
8년 전
네 그거까지는 찾았습니다. 그래서 ajax로 처리하려고 하고있어요 답변 감사합니다.

만약에 ajax가 아니라 저렇게 궂이 한다면 어떻게 해야하나요??

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

8년 전

$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를 '' 로 한번 감싸보세요

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

답변에 대한 댓글 1개

경하귀요밍
8년 전
감싸도 안나오더라구요ㅜㅜ 흙흙
자료형도 string이랑 int 형으로 변경해보아도 안되요 ㅜㅜ

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

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

로그인