Sebagai pengembang PHP, satu hal yang mungkin sangat berguna adalah perpustakaan kelas Pear. Kita tahu bahwa Pear::Pager berspesialisasi dalam menangani paging, dan Pear::HTML_AJAX adalah perpustakaan kelas untuk aplikasi Ajax. Tapi Pager tidak hanya digunakan untuk paging link dalam HTML, tapi sudah siap untuk Ajax, yang lebih populer dari Super Girl. Mari kita lihat bagaimana kedua paket ini diintegrasikan dan diterapkan.
Pager dan Javascript
Sekarang kita telah mengambil langkah pertama, Pager sudah dapat membangun link JavaScript. Integrasi dengan Ajax seharusnya dapat dilakukan secara teori. Berikut ini adalah contoh paging Pager dan JavaScript:
TEKS POLOS
PHP:
require_once'Pager/Pager.php';
$data=range(1,100);//array data yang akan diberi nomor halaman
$pager_params=array(
'mode' =>'Geser',
'append' =>false, //jangan tambahkan parameter GET ke url
'jalur' =>'',
'fileName'=>'javascript:revealDiv(%d)', //Pager mengganti "%d" dengan nomor halaman...
'perPage' =>10,//tampilkan 10 item per halaman
'delta' =>5,
'data barang'=>$data,
);
$pager= & Pager::pabrik($pager_params);
$n_pages=$pager->numPages();
$link=$pager->getLinks();
?>
<html>
<kepala>
<skrip type="teks/javascript"bahasa="javascript">
varn_pages =<?phpecho$n_pages?>;
fungsi mengungkapkanDiv(n)
{
untuk(varcount=1;count<= n_pages;count++){
document.getElementById("halaman"+hitungan).style.display ='tidak ada';
}
document.getElementById("halaman"+n).style.display ='blok';
}
</skrip>
<gaya tipe="teks/css">
div.halaman{
latar belakang:#FFFF99;
batas atas: 1px solid#FFBF99;
batas bawah: 1px solid#FFBF99;
}
</gaya>
</kepala>
<tubuh>
<h1>PEAR::Contoh halaman dengan JavaScript</h1>
<?phpecho$links['halaman'];?>
<jam />
<?php
untuk($i=1;$i<=$n_halaman; ++$i){
echo'<div class="page" id="page'.$i.'">';
echo'<h2>Halaman '.$i.'</h2>';
foreach($pager->getPageData($i)as$item){
echo'Item '.$item.'<br />';
}
gema'</div>';
}
?>
<jam />
<skrip type="teks/javascript"bahasa="javascript">
mengungkapkanDiv(1);
</skrip>
</tubuh>
</html>
Dalam contoh ini, semua data halaman dimasukkan ke dalam tag div, dan dua parameter penting ditentukan: jalur (kosong) dan Nama file. Nama file awalnya seharusnya menjadi nama file tautan, tetapi di sini diganti dengan javascript.
Contoh pertarungan Ajax mencakup tiga file page.html, server.php, testdata.php
halaman.html
Gunakan javascript dinamis--server.php untuk memproses data, dan panggil HTML_AJAX.replace('target', 'testdata.php') untuk mengganti konten div dengan id target.
TEKS POLOS
PHP:
<html>
<tubuh>
<h1>PEAR::Contoh halaman dengan AJAX</h1>
<skrip type="text/javascript"src="server.php?client=all"></script>
<div id="target">Saya adalah targetnya</div>
<skrip tipe="teks/javascript">
HTML_AJAX.replace('target', 'testdata.php');
</skrip>
</tubuh>
</html>
data uji.php
Ini adalah program php yang sangat sederhana yang mendapatkan data paging dan menghasilkan
teks biasa
html
PHP:
<?php
require_once'Pager/Pager.php';
$data=range(1,100);//array data yang akan diberi nomor halaman
$pager_params=array(
'mode' =>'Geser',
'append' =>false, //jangan tambahkan parameter GET ke url
'jalur' =>'',
'fileName'=>'javascript:HTML_AJAX.replace('target','testdata.php?pageID=%d');', //Pager mengganti "%d" dengan nomor halaman...
'perPage' =>10,//tampilkan 10 item per halaman
'delta' =>1,
'data barang'=>$data,
);
$pager= & Pager::pabrik($pager_params);
$n_pages=$pager->numPages();
$link=$pager->getLinks();
echo'<p>Container ini dimuat dengan panggilan AJAX</p>';
echo'<p><span class="datetime">DateTime: '.date('Ymd H:i:s').'</span></p>';
echo'<h3>Halaman '.$pager->getCurrentPageId().'</h3>';
foreach($pager->getPageData()as$item){
echo'Item '.$item.'<br />';
}
echo'<hr />'.$pager->link;
?>
Terakhir, tempelkan kode server.php pekerja di belakang layar dan gunakan HTML_AJAX_Server untuk menangani hal-hal yang merepotkan seperti
ajax
PHP:
<?php
sertakan'HTML/AJAX/Server.php';
$server=newHTML_AJAX_Server();
$server->handleRequest();
?>