ในฐานะนักพัฒนา PHP สิ่งหนึ่งที่น่าจะมีประโยชน์มากคือไลบรารีคลาส Pear เรารู้ว่า Pear::Pager เชี่ยวชาญในการจัดการเพจ และ Pear::HTML_AJAX เป็นไลบรารีคลาสสำหรับแอปพลิเคชัน Ajax แต่ Pager ไม่เพียงแต่ใช้สำหรับเพจเจอร์ลิงก์ในรูปแบบ HTML เท่านั้น แต่ยังพร้อมสำหรับ Ajax ซึ่งได้รับความนิยมมากกว่า Super Girl มาดูกันว่าแพ็คเกจทั้งสองนี้ถูกรวมและนำไปใช้อย่างไร
เพจเจอร์และจาวาสคริปต์
ตอนนี้เราได้ดำเนินการขั้นตอนแรกแล้ว Pager สามารถสร้างลิงก์ JavaScript ได้แล้ว ในทางทฤษฎีแล้ว การรวมเข้ากับ Ajax ควรเป็นไปได้ ต่อไปนี้เป็นตัวอย่างของเพจเจอร์และ JavaScript:
PLAIN TEXT
PHP:
need_once'Pager/Pager.php';
$data=range(1,100);//อาร์เรย์ข้อมูลที่ต้องการแบ่งหน้า
$pager_params=array(
'mode' =>'เลื่อน',
'append' =>false, //อย่าเพิ่มพารามิเตอร์ GET ต่อท้าย url
'เส้นทาง' =>'',
'fileName'=>'javascript:revealDiv(%d)', //Pager แทนที่ "%d" ด้วยหมายเลขหน้า...
'perPage' =>10,//แสดง 10 รายการต่อหน้า
'เดลต้า' =>5,
'itemData'=>$ข้อมูล,
-
$pager= & เพจเจอร์::โรงงาน($pager_params);
$n_pages=$เพจเจอร์->numPages();
$links=$pager->getLinks();
-
<html>
<หัว>
<script type="text/javascript" language="javascript">
varn_pages =<?phpecho$n_pages?>;
functionrevealDiv (n)
-
สำหรับ(varcount=1;นับ<= n_pages;นับ++){
document.getElementById("page"+count).style.display ='none';
-
document.getElementById("page"+n).style.display ='block';
-
</สคริปต์>
<style type="text/css">
div.เพจ{
พื้นหลัง:#FFFF99;
ขอบบน: 1px solid#FFBF99;
ขอบล่าง: 1px solid#FFBF99;
-
</สไตล์>
</หัว>
<ร่างกาย>
<h1>PEAR::Pageตัวอย่างด้วย JavaScript</h1>
<?phpecho$links['pages'];?>
<ชม. />
<?php
สำหรับ($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 '.$item.'<br />';
-
เสียงสะท้อน'</div>';
-
-
<ชม. />
<script type="text/javascript" language="javascript">
เผยDiv(1);
</สคริปต์>
</ร่างกาย>
</html>
ในตัวอย่าง ข้อมูลการเพจทั้งหมดจะถูกใส่ลงในแท็ก div และมีการกำหนดพารามิเตอร์ที่สำคัญสองตัว: เส้นทาง (ว่างเปล่า) และชื่อไฟล์ เดิมที fileName ควรจะเป็นชื่อไฟล์ของลิงก์ แต่ถูกแทนที่ด้วย javascript ที่นี่
ตัวอย่างการต่อสู้ของ Ajax ประกอบด้วยไฟล์สามไฟล์ page.html, server.php, testdata.php
หน้า.html
ใช้ javascript แบบไดนามิก--server.php เพื่อประมวลผลข้อมูล และเรียก HTML_AJAX.replace('target', 'testdata.php') เพื่อแทนที่เนื้อหาของ div ด้วย id ของ target
ข้อความธรรมดา
PHP:
<html>
<ร่างกาย>
<h1>PEAR::ตัวอย่างเพจเจอร์ด้วย AJAX</h1>
<script type="text/javascript"src="server.php?client=all"></script>
<div id="target">ฉันคือเป้าหมาย</div>
<script type="text/javascript">
HTML_AJAX.replace('เป้าหมาย', 'testdata.php');
</สคริปต์>
</ร่างกาย>
</html>
testdata.php
นี่เป็นโปรแกรม php ง่ายๆ ที่ได้รับข้อมูลเพจและส่งออกข้อความ html
PLAIN TEXT
PHP:
<?php
need_once'Pager/Pager.php';
$data=range(1,100);//อาร์เรย์ข้อมูลที่ต้องการแบ่งหน้า
$pager_params=array(
'mode' =>'เลื่อน',
'append' =>false, //อย่าเพิ่มพารามิเตอร์ GET ต่อท้าย url
'เส้นทาง' =>'',
'fileName'=>'javascript:HTML_AJAX.replace('target','testdata.php?pageID=%d');', //Pager แทนที่ "%d" ด้วยหมายเลขหน้า...
'perPage' =>10,//แสดง 10 รายการต่อหน้า
'เดลต้า' =>1,
'itemData'=>$ข้อมูล,
-
$pager= & เพจเจอร์::โรงงาน($pager_params);
$n_pages=$เพจเจอร์->numPages();
$links=$pager->getLinks();
echo'<p>คอนเทนเนอร์นี้ถูกโหลดด้วยการเรียก AJAX</p>';
echo'<p><span class="datetime">DateTime: '.date('Ymd H:i:s').'</span></p>';
echo'<h3>Page '.$pager->getCurrentPageId().'</h3>';
foreach($pager->getPageData()as$item){
echo'Item '.$item.'<br />';
-
echo'<hr />'.$pager->ลิงก์;
-
สุดท้าย วางโค้ดของผู้ปฏิบัติงานเบื้องหลัง server.php และใช้ HTML_AJAX_Server เพื่อจัดการกับสิ่งที่ยุ่งยาก เช่น ajax
PLAIN TEXT
PHP:
<?php
รวม 'HTML/AJAX/Server.php';
$server=newHTML_AJAX_Server();
$เซิร์ฟเวอร์->handleRequest();
-