PHP 개발자로서 매우 유용한 것 중 하나는 Pear 클래스 라이브러리입니다. 우리는 Pear::Pager가 페이징 처리를 전문으로 하고 Pear::HTML_AJAX가 Ajax 애플리케이션용 클래스 라이브러리라는 것을 알고 있습니다. 하지만 Pager는 HTML의 링크 페이징에만 사용되는 것이 아니라 Super Girl보다 더 인기 있는 Ajax에도 이미 준비되어 있습니다. 이 두 패키지가 어떻게 통합되어 적용되는지 살펴보겠습니다.
호출기와 자바스크립트
이제 첫 번째 단계를 수행했으므로 Pager는 이미 JavaScript 링크를 구축할 수 있습니다. 이론상으로는 Ajax와의 통합이 가능합니다. 다음은 Pager 및 JavaScript 페이징의 예입니다
.
PHP:
require_once'Pager/Pager.php';
$data=range(1,100);//페이지를 매길 데이터 배열
$pager_params=배열(
'모드' =>'슬라이딩',
'append' =>false, //URL에 GET 매개변수를 추가하지 않음
'경로' =>'',
'fileName'=>'javascript:revealDiv(%d)', //Pager는 "%d"를 페이지 번호로 바꿉니다...
'perPage' =>10,//페이지당 10개의 항목 표시
'델타' =>5,
'itemData'=>$데이터,
);
$pager= & 호출기::factory($pager_params);
$n_pages=$pager->numPages();
$links=$pager->getLinks();
?>
<html>
<머리>
<script type="text/javascript"언어="javascript">
varn_pages =<?phpecho$n_pages?>;
functionrevealDiv(n)
{
for(varcount=1;count<= n_pages;count++){
document.getElementById("page"+count).style.display ='none';
}
document.getElementById("page"+n).style.display ='차단';
}
</script>
<스타일 유형="텍스트/css">
div.페이지{
배경:#FFFF99;
테두리 상단: 1px solid#FFBF99;
테두리 하단: 1px solid#FFBF99;
}
</style>
</head>
<본문>
<h1>PEAR::JavaScript를 사용한 호출기 예</h1>
<?phpecho$links['페이지'];?>
<시간 />
<?php
for($i=1;$i<=$n_pages; ++$i){
echo'<div class="page" id="page'.$i.'">';
echo'<h2>페이지 '.$i.'</h2>';
foreach($pager->getPageData($i)as$item){
echo'항목 '.$item.'<br />';
}
에코'</div>';
}
?>
<시간 />
<script type="text/javascript"언어="javascript">
공개Div(1);
</script>
</body>
</html>
예제에서는 모든 페이징 데이터가 div 태그에 들어가고 두 가지 중요한 매개변수인 path(비어 있음)와 fileName이 정의됩니다. fileName은 원래 링크의 파일 이름이어야 했지만 여기서는 javascript로 대체되었습니다.
Ajax 전투 예제에는 page.html, server.php, testdata.php 세 개의 파일이 포함되어 있습니다.
페이지.html
동적 javascript--server.php를 사용하여 데이터를 처리하고 HTML_AJAX.replace('target', 'testdata.php')를 호출하여 div의 콘텐츠를 대상의 ID로 바꿉니다.
일반 텍스트
PHP:
<html>
<본문>
<h1>PEAR::AJAX를 사용한 호출기 예</h1>
<script type="text/javascript"src="server.php?client=all"></script>
<div id="target">내가 타겟이다</div>
<스크립트 유형="텍스트/자바스크립트">
HTML_AJAX.replace('target', 'testdata.php');
</script>
</body>
</html>
테스트데이터.php
이것은 페이징 데이터를 가져오고 html
일반 텍스트를
출력하는 매우 간단한 PHP 프로그램입니다.
PHP:
<?php
require_once'Pager/Pager.php';
$data=range(1,100);//페이지를 매길 데이터 배열
$pager_params=배열(
'모드' =>'슬라이딩',
'append' =>false, //URL에 GET 매개변수를 추가하지 않음
'경로' =>'',
'fileName'=>'javascript:HTML_AJAX.replace('target','testdata.php?pageID=%d');', //Pager는 "%d"를 페이지 번호로 바꿉니다...
'perPage' =>10,//페이지당 10개의 항목 표시
'델타' =>1,
'itemData'=>$데이터,
);
$pager= & 호출기::factory($pager_params);
$n_pages=$pager->numPages();
$links=$pager->getLinks();
echo'<p>이 컨테이너는 AJAX 호출로 로드됩니다</p>';
echo'<p><span class="datetime">DateTime: '.date('Ymd H:i:s').'</span></p>';
echo'<h3>페이지 '.$pager->getCurrentPageId().'</h3>';
foreach($pager->getPageData()as$item){
echo'항목 '.$item.'<br />';
}
echo'<hr />'.$pager->links;
?>
마지막
으로, 비하인드 스토리 작업자 server.php의 코드를 붙여넣고 HTML_AJAX_Server를 사용하여 Ajax와 같은 번거로운 작업을 처리합니다.
PHP:
<?php
include'HTML/AJAX/Server.php';
$server=newHTML_AJAX_Server();
$서버->핸들요청();
?>