함수와 함수 밖 차이

함수와 함수 밖 차이

QA

함수와 함수 밖 차이

본문

안녕하세요~ 제가 코드를 짜다가 궁금한게 있어서 이렇게 다시 질문드립니다.

 


        <?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 ++;
        }
        ?>
 
    }

3537816078_1650354759.5047.png

하지만 동일한 코드를 다시 함수 안에서 넣어서 하려고 하니 계속 에러가 나오고 값이 표출되지 않는데 도대체 어떤 문제 때문에 실행이 되지 않는 것인지 궁금해서 질문드렸습니다!!

 

항상 귀한 시간 내어서 알려주심에 정말 감사드립니다~

이 질문에 댓글 쓰기 :

답변 3

저 코드를 javascript 함수 안에 넣는다고요? 접근 방법부터 잘못된거 같습니다.

 

특정 버튼을 누르거나 하는 시점에 동작하는거면 javascript에서 ajax로 위에 php 페이지를 호출하고 그 결과값을 json으로 받아서 처리 하셔야 합니다.

코드를 잘못 이해하고 계십니다.

PHP 는 자바스크립트보다 먼저 로드되죠.

근데 클릭펑션으로 넣으셨는데

이미 로드된 php 함수를 펑션으로 다시 재로드하는것 부터가 문제 입니다.

 

온로드 시에는 당연히 php 함수를 선 로드하니 문제가 안되지만

로드 이후 펑션에서는 해당 값을 가져 올수 없습니다.

 

ajax 등으로 처리하셔야 할듯 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 125,873 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT