함수와 함수 밖 차이
본문
안녕하세요~ 제가 코드를 짜다가 궁금한게 있어서 이렇게 다시 질문드립니다.
<?php
$num = 1;
while($num<=50)
{
$field = 'wr_'.$num;
$sql = "select * from g5_write_facility_add order by wr_datetime desc limit 1";
$result = sql_query($sql);
while($row = sql_fetch_array($result)){
$field_value=$row[$field]; //$field의 모든 행 불러오는 것을 $field_value라는 변수로 선언
// echo $field_value;
print_r($field_value); // 값을 불러 오는지 확인 (불러오는것을 확인)
}
// if(!$field_value){
// return;
// }
$num ++;
}
?>
위에 코드를 함수 밖에서 했을때는 무리 없이 함수가 실행이 되고 결과값도 표출이 되는 것을 확인했습니다
$(document).ready(function() {
data_collect()
}
function data_collect(){
<?php
$num = 1;
while($num<=50)
{
$field = 'wr_'.$num;
$sql = "select * from g5_write_facility_add order by wr_datetime desc limit 1";
$result = sql_query($sql);
while($row = sql_fetch_array($result)){
$field_value=$row[$field]; //$field의 모든 행 불러오는 것을 $field_value라는 변수로 선언
// echo $field_value;
print_r($field); // 값을 불러 오는지 확인 (불러오는것을 확인)
// print_r($num);
}
// if(!$field_value){
// return;
// }
$num ++;
}
?>
}
하지만 동일한 코드를 다시 함수 안에서 넣어서 하려고 하니 계속 에러가 나오고 값이 표출되지 않는데 도대체 어떤 문제 때문에 실행이 되지 않는 것인지 궁금해서 질문드렸습니다!!
항상 귀한 시간 내어서 알려주심에 정말 감사드립니다~
!-->!-->답변 3
저 코드를 javascript 함수 안에 넣는다고요? 접근 방법부터 잘못된거 같습니다.
특정 버튼을 누르거나 하는 시점에 동작하는거면 javascript에서 ajax로 위에 php 페이지를 호출하고 그 결과값을 json으로 받아서 처리 하셔야 합니다.
php는 서버에서 실행되고
이후 결과가 브라우저로 오게 되고
여기서 자바스크립트가 실행됩니다.
둘은 서로 별개라고 생각하시면 됩니다.
코드를 잘못 이해하고 계십니다.
PHP 는 자바스크립트보다 먼저 로드되죠.
근데 클릭펑션으로 넣으셨는데
이미 로드된 php 함수를 펑션으로 다시 재로드하는것 부터가 문제 입니다.
온로드 시에는 당연히 php 함수를 선 로드하니 문제가 안되지만
로드 이후 펑션에서는 해당 값을 가져 올수 없습니다.
ajax 등으로 처리하셔야 할듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.