PHP 開発者として、おそらく非常に役立つものの 1 つは、Pear クラス ライブラリです。 Pear::Pager はページングの処理に特化しており、Pear::HTML_AJAX は Ajax アプリケーション用のクラス ライブラリであることはわかっています。しかし、Pager は HTML 内のページング リンクに使用されるだけでなく、Super Girl よりも人気のある Ajax にもすでに対応しています。これら 2 つのパッケージがどのように統合され、適用されるかを見てみましょう。
ポケベルとJavaScript
最初のステップを踏み出したので、Pager はすでに JavaScript リンクを構築できます。理論的には、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'=>$data,
);
$pager= & Pager::factory($pager_params);
$n_pages=$pager->numPages();
$links=$pager->getLinks();
?>
<html>
<頭>
<script type="text/javascript" language="javascript">
varn_pages =<?phpecho$n_pages?>;
関数revealDiv(n)
{
for(varcount=1;count<= n_pages;count++){
document.getElementById("page"+count).style.display ='none';
}
document.getElementById("page"+n).style.display ='ブロック';
}
</script>
<style type="text/css">
div.ページ{
背景:#FFFF99;
ボーダートップ: 1px ソリッド#FFBF99;
ボーダーボトム: 1px ソリッド#FFBF99;
}
</スタイル>
</head>
<本文>
<h1>JavaScript を使用した PEAR::Pager の例</h1>
<?phpecho$links['pages'];?>
<hr />
<?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>';
}
?>
<hr />
<script type="text/javascript" language="javascript">
明らかにDiv(1);
</script>
</body>
</html>
この例では、すべてのページング データが div タグに入れられ、パス (空) と fileName という 2 つの重要なパラメーターが定義されています。fileName は本来、リンクのファイル名であるはずですが、ここでは JavaScript に置き換えられています。
Ajax バトルの例には、page.html、server.php、testdata.php の 3 つのファイルが含まれています
ページ.html
動的 javascript--server.php を使用してデータを処理し、HTML_AJAX.replace('target', 'testdata.php') を呼び出して div の内容をターゲットの ID に置き換えます。
プレーンテキスト
PHP:
<html>
<本文>
<h1>AJAX を使用した PEAR::Pager の例</h1>
<script type="text/javascript"src="server.php?client=all"></script>
<div id="target">私がターゲットです</div>
<script type="text/javascript">
HTML_AJAX.replace('target', 'testdata.php');
</script>
</body>
</html>
テストデータ.php
PLAIN TEXT
を出力する非常に単純な 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'=>$data,
);
$pager= & 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->リンク;
?>
最後に裏方ワーカーのserver.phpのコードを貼り付けて、HTML_AJAX_Serverを使ってajaxなど面倒なことを処理します
。
PHP:
<?php
include'HTML/AJAX/Server.php';
$server=newHTML_AJAX_Server();
$server->handleRequest();
?>