2013-01-10 2 views
-5

내 웹 사이트 사용자는 두 개의 숫자를 입력 할 수 있습니다. 하나는 테이블의 열 수이고 다른 하나는 테이블의 행 수입니다. 내 자바 스크립트 다음이 테이블을 만드는 코드를 생성합니다. 이것은 테이블과 첫 번째 행의 시작 태그가 변수에 추가된다는 것을 의미합니다. 그런 다음 행의 첫 번째 셀에 대해 여는 셀 태그를 추가합니다.자바 스크립트 변수를 포함하는 PHP 함수 호출

는 이제 다음과 같은 자바 스크립트 코드 내에서 내 PHP 함수를 호출 :

<?php getCellInfo(1) ?> 

이 기능은 에코 저장 한 다음 함수를 1 소요 1의 기본 키와 기록을 위해 MySQL 데이터베이스를 쿼리 이름을 기본 키 1과 연결합니다.

그런 다음 태그를 추가하여이 셀을 닫아 테이블 코드를 유지하는 variabe에 추가합니다. 사용자가 열 수를 입력 한 숫자에 대해이 작업을 반복합니다.이 작업은 while 루프를 사용하여 수행됩니다. 루프가 끝나면 테이블 코드를 닫을 때까지 행을 끝내고 다음 코드를 시작하는 코드를 추가합니다.

그런 다음 div의 html을 변경하여 표를 표시합니다. 이것은 작동하지만 분명히 동일한 정보로 모든 셀을 채 웁니다. 나는 당신이 셀을 따라 이동할 때 숫자를 증가시키기 위해 자바 스크립트에서 할 수있는 PHP 함수에 전달하는 숫자를 증가시키고 싶지만 어떻게 해야할지 모르겠습니다.

자바 스크립트 변수를 정의하고 PHP 함수에 전달하려고했습니다. 변수는 cellNo라고 불렀고 다음과 같이 시도했습니다.

<?php getCellInfo(cellNo) ?> 

그러나 이것은 도움이되지 않았습니다. (페이지가 클라이언트 측에서로드되기 전에)

JS가 서버에서 클라이언트 측에서 실행하지

+4

PHP는 서버 측을 실행하고 클라이언트 측을 실행 자바 스크립트, 즉, 자바 스크립트가 실행되기 전에 모든 인라인 PHP가 실행됩니다. 요청한 것을 수행하기 위해 AJAX 호출을 사용하여 DOM을 동적으로 업데이트하려고 할 가능성이 큽니다. – ernie

+2

자바 스크립트를 사용하지 않으면 전체 응용 프로그램이 축소됩니다. 백 엔드에서 계산하지 않는 이유는 무엇입니까? – ChrisMoll

+0

우리가 도와 드릴 수 있도록 코드를 보여주십시오! –

답변

0

PHP는 서버에서 실행 (분명이 node.js 같은 서버 측 JS 라이브러리가 있지만, 즉 오프 주제)

그들은 다른 시간에 실행되기 때문에 JS 변수가 아직 인스턴스화되지 않았기 때문에 PHP 변수에 JS 변수를 전달할 수 없습니다. 즉

:

myCustomFunction(jsVariable); 

jsVariable이 아직 정의되지 않은 : 당신이 PHP 함수를 호출합니다.

그럼 어떻게해야합니까?

당신은 백그라운드에서 PHP 페이지로 AJAX를 통해 JS 변수를 보낼 수 있습니다 (즉, 사용자가 버튼 등을 클릭 할 때)

내가 AJAX 및 PHP에 대한 정보는 어디에서 얻을 수 있습니까?

여기이 주제에 초보자 튜토리얼입니다 :

http://www.handyphp.com/index.php/PHP-Resources/Handy-PHP-Tutorials/what-is-ajax-a-beginners-ajax-tutorial.html

+0

감사합니다 pzirkind 실제로 이해할 수있는 방식으로 그것을 설명했다. 다시 한 번 감사드립니다. – user1041528

-1

fetchdata은 그 PHP 파일

에 사전에 선언 된 PHP 함수입니다
$('#mytable').append(" < ? p h p echo fetchdata(2); ?>"); 
관련 문제