2011-05-06 6 views
2

PHP에 익숙하지 않습니다. 사용자가 질문 할 수있는 포럼을 만들고 싶었습니다. 자동 새로 고침을 위해 아약스를 사용하고 있습니다.하지만 문제가 발생합니다 ...마지막 항목 만 표시하는 AJAX 자동 새로 고침 기능!

첫 번째로 가장 최근의 질문이 표시되는 특정 div를 만들면 , 최신 질문 만 새로 고침됩니다. 전직와 그것을 내가 분명히하자

  1. 사용자 A는 그는 qlatest, Q1, Q2, Q3 질문을 얻는다 포럼
  2. 를 엽니 다. 어느 곳에서든지 qlatest가 1 초마다 새로 고침
  3. 사용자 B가 질문을 게시합니다. qlatest2
  4. qlatest가 qlatest2로 대체되었습니다!

이제 모든 질문을 모두 충족시켜야 div가 새로 고침을해야합니까?

답변

3

정확하게 이해하면 최신 항목이 서로 위에 표시되는 트위터 피드와 같은 것을 만들고 싶습니다.

전체 DIV가 새로 고침되는 이유는 해당 DIV의 전체 내부 HTML을 다시 작성하기 때문입니다. 이것을 피하려면 .appendChild()를 사용하고 PHP 콜백 파일을 프로그래밍하여 데이터베이스에서 최신 레코드 만 가져옵니다.

http://www.ezineasp.net/post/Javascript-Append-Div-Contents.aspx

JQuery와도 아이를 추가하는 매우 유용한 기능이 있습니다. AJAX 호출을 처음 사용하는 경우 Javascript 라이브러리를 사용하는 것이 좋습니다.

1

당신은에 있습니다

  1. 마지막 질문을 반환 일부 데이터 소스를 추가합니다. JS 내장 함수에서는 setInterval()로드 등을 사용 쓰기 JavaScript 코드 : 일정 간격 및 부하에 해당 데이터 소스 호출

설명하는 간단한 다음 해결책 .. 사업부에 질문을 돌려 . div에 last_question.php 스크립트. 당신은 그것을 할 수 있습니다. 예를 들어 볼 수있는 jQuery load() 함수를 사용한다. div (ID가 "last_question"인 경우) :

jQuery('#last_question').load('last_question.php'); 

물론 최적화 할 수 있습니다. 이렇게하려면에 대한 읽기 :

  1. 롱 폴링
  2. JSON 형식
  3. jQuery.requestJSON() jQuery를 기능 어쩌면 일부 효과
  4. 이 (아웃 슬라이드 및 슬라이드 같은) 질문 변화가 부드럽게하기 위해