2012-03-16 6 views
0

소스가 mysql 데이터베이스에있는 시간에 뉴스를 표시 할 수있는 뉴스 영역을 만들었습니다. 나는 다음과 같은 쿼리를 사용했습니다 :페이지를 다시로드하지 않고 javascript 버튼 클릭으로 PHP 변수를 변경하는 방법

$ eu = 0; $ limit = 3; $ query2 = mysql_query ("SELECT * FROM news ORDER BY ID DESC LIMIT $ eu, $ limit");

지금 나는 또한 디스플레이를 위해 다음 3 엄지 손가락의 onclick 3 엄지 손가락을 이전을이 버튼을 사용하려면이

처럼 두 개의 버튼을 만들 수있다. 즉 $ eu라는 검색어 내부의 값을 변경할 수는 없습니다.

어떻게 자바 스크립트 또는 다른 제안과 함께 mysql 쿼리 내에서 $ eu 값을 변경할 수 있으며 쿼리 매개 변수를 전달할 때 페이지를 다시로드 할 때이 작업을 수행하고 싶지 않습니다. 페이지를 새로 고치지 않고도 원한다.

+1

AJAX이 문제의 거의 모든 솔루션처럼 들리이 // PHP

$count=3; $query= 'select * from news order by id desc ' ; $limit_str=" limit 0,$count"; if(isset($_POST['page'])) { $lim=$_POST['page']; $offset=$lim[0]*$count; $lim_str=" limit $offset, $count"; $query.=$lim_str; } 

을보십시오. –

+0

PHP는 서버 측이고 JavaScript는 클라이언트 측입니다.따라서 JavaScript는 PHP에 액세스 할 수 없습니다. – Anonymous

답변

1

필요한 경우 $ eu (예 : 3, 6, 9 등)의 값을 전달하고 뉴스 내용을 전달해야합니다. 피드, 기존 로트를 대체합니다.

이 작업을 수행 할 수있는 방법은 다양하며 사용하는 프레임 워크에 따라 가장 쉽습니다. Google은 귀하의 친구입니다. 많은 자습서 등이 있습니다.

+0

u는 내가 이해할 수있는 코드를 작성하는 아약스를 알지 못하기 때문에 버튼을 클릭 할 때 $ eu 값을 변경하기 위해 여기에 코드를 쓸 수 있습니다. 그것은 appriciated 될 것입니다 –

0

자바 스크립트에서 PHP 변수를 변경할 수 없습니다. 서버 측 스크립트가 이미 실행 중이며 javascript가 클라이언트 측 스크립트이기 때문입니다.

내가 제안하는 것은 매개 변수로 $ eu를 허용하는 PHP 스크립트에 ajax 요청을 보내기 위해 javascript를 사용하는 것입니다.

PHP에서는 $ eu를 사용하여 쿼리를 수행하고 검색 결과를 출력합니다.

자바 스크립트에서는 성공한 아약스 요청시이 결과를 캐치하고 HTML의 특정 요소를 결과로 바꿉니다.

0

PHP가 브라우저 (즉 서버 측)로 전송되기 전에 PHP가 구문 분석되고 자바 스크립트가 구문 분석되어 브라우저 (예 : 클라이언트 측)에서 실행되기 때문에 PHP 스크립트의 값을 자바 스크립트에서 직접 변경할 수 없습니다. .

이런 종류의 일이 두 가지 주요 방법으로 이루어집니다. PHP 변수 값에 실제로 영향을 주려면 페이지를 다시로드해야합니다 (예 : HTML 양식 사용). 다른 사람들이 제안한대로 AJAX를보고 싶을 것입니다.

간단히 말해서 자바 스크립트를 사용하여 위에있는 쿼리를 실행하는 PHP 페이지에 요청을 보내고 (POST 및 GET 데이터 형식으로 $ eu에 연결하기 위해 새 값을 전달할 수 있습니다) 그리고 그 결과를 사용하여 페이지의 디스플레이를 업데이트하십시오.

0

는 // 양식

<form method='post' > 
< input type='submit' name='page[]' value='1' /> 
< input type='submit' name='page[]' value='2' /> 
< input type='submit' name='page[]' value='3' /> 
</form> 


<?php 
// Display logic 
?> 
+0

그는 그가 페이지를 다시로드하지 않고 그것을하고 싶다고 말했다. – TheOx

관련 문제