Javascript 함수 내에서 PHP변수에 javascript 변수 전달하는 방법

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
Javascript 함수 내에서 PHP변수에 javascript 변수 전달하는 방법

QA

Javascript 함수 내에서 PHP변수에 javascript 변수 전달하는 방법

본문

Javadscript 내에서 PHP 변수인 $group12 에 Javascript 변수인 gr1 의 내용을 전달하고 싶습니다.

전체의 소스에서는 첫번째 selected value에 따라 2번째 select를 구성하는 부분은 잘 되고 있으나
choice_group() 함수는 별도로 ajax로 동작되는 부분의 일부입니다.
아래의 소스는 첫번째 select 의 selected value 인 gr1을 받아서 mysql 에 변수로 전달하는 내용입니다.

PHP 내에서 Javadscript 변수의 사용은 구글링으로 $group12 = " <script>document.write (gr1);</script> "; 로 찾아 적용해 보았으나
Javadscript 함수 내에서 <script></script> 를 중복 사용하게 되는 오류나 나는 군요.

이런 경우의 해결 방법은 없나요?

 

<select name="grouping2" id="grouping2">

</select>

 

<script type="text/javascript">

function sel_group2(gr1) {

    <?php

    //        $group12 = " <script>document.write (gr1);</script> ";

    $result = mysqli_query($connect,"SELECT grouping2 FROM `$sel_group` WHERE grouping1='$group12' ORDER BY grouping2") OR die(mysqli_error($connect));

    $total = mysqli_num_rows($result);

    $total = $total + 1;

    echo " document.ad_data.grouping2.length = $total; ";

    $i = 1;

    while($data = mysqli_fetch_object($result)) {

        print("

        document.ad_data.grouping2.options[$i].text = '$data->grouping2';

        document.ad_data.grouping2.options[$i].value = '$data->grouping2';

        ");

        $i++;

    }

    ?>

}

 

function choice_group(gr1) {

    // process...

    sel_group2(gr1);

    // process...

}

</script>

이 질문에 댓글 쓰기 :

답변 1

처음 시작하면 흔히 하는 실수입니다.
이에 왜 문제가 되냐 하면은
php 코드가 실행되고 최종으로 html 코드를 보여줍니다. php가 이미 실행이 끝났다는 의미입니다.
그래서 반대로 js함수를 호출한다고 해서 php코드가 실행할 수 없다는 의미입니다.
sel_group2() 실행하기 이전에 php가 실행되어서 document.ad_data.grouping2.option... 코드를 이미 생산했다는 말입니다.
소스 보기를 해보시면 구분이 가실겁니다.
이걸 해결하는 방법은
1 js에 사용될 값을 디비에서 미리 가져와서 js 배열에 담은 후 js를 통하여 필요한 값만 취하면 됩니다.
2 1번 데이터가 너무 크거나 다른 데이터를 보여주면 안된다면 ajax를 통신하는 추가 php파일을 제작해야 합니다.

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

회원로그인

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