jQuery 이벤트로 sql을 실행할 수 있나요??
본문
<script>
$(document).ready(function(){
$("#checkBoxId").change(function(){
if($("#checkBoxId").is(":checked")){
alert("체크박스 체크했음!");
}else{
alert("체크박스 체크 해제!");
}
});
});
</script>
jQuery 뿐만 아니라 자바스크트립도 <script> 태그 내에 php 코드를 삽입해 sql을 만질 수 있나요??
<script>
$(document).ready(function() {
$("#checkBoxId").change(function() {
if($("#checkBoxId").is(":checked")) {
<?php
$sql = "update g5_submit set checking = 1";
$result = sql_query($sql);
?>
}else{
<?php
$sql2 = "update g5_submit set checking = 1";
$result2 = sql_query($sql2);
?>
}
});
});
</script>
1. 2번째 코드의 문제점이 있나요??
2. 위와 같은 방법으로 자바스크립트 이벤트와 php를 쓰나요? (그냥 대입해서...)
!-->!-->답변 4
소스에 php 코드가 섞여 있지만 브라우저로 전달되는 결과는 php가 모두 실행되고나서의 결과입니다.
php 반복문이나 조건문으로 html 코드를 동적으로 만드는데 이것은 서버에서 이미 php코드를 모두 실행하면서 해당하는 html 코드를 생성하여 브라우저로는 최종 결과만 전달해 줍니다.
결과적으로 브라우저에는 php 코드는 전혀 전달되지 않습니다.(서버에서 이미 실행된 결과만 전달됨)
그래서 화면 전환 없이 서버쪽에서 뭔가 작업을 해야되면(php코드를 실행하고 싶다면) ajax 를 사용해야 됩니다. ajax는 페이지 전환 없이 서버쪽에 요청을하고 결과를 받아와 처리하는 기술입니다.
1. 2번째 코드의 문제점이 있나요?
=> 실행해봤는데 잘 작동하느거 같고 코드상은 문제없어 보입니다.
2. 위와 같은 방법으로 자바스크립트 이벤트와 php를 쓰나요? (그냥 대입해서...)
=> 그렇게 하면 코드가 이미 실행되므로 작동하지 않고
=> $ajax post 로 검색하셔서 별도 페이지로 실행하는 법으로 하시면 될거 같습니다.
php 조건문으로 스크립트 실행은 가능하지만 반대로는 안됩니다.
php는 서버에서 실행하고 스크립트는 웹브라우저에서 실행됩니다.
ajax로 처리하셔야되요
스크립트단에선 php명령문을 실시간으로 실행할수없어요