Como desarrollador PHP, una cosa que probablemente sea muy útil es la biblioteca de clases Pear. Sabemos que Pear::Pager se especializa en manejar paginación y Pear::HTML_AJAX es una biblioteca de clases para aplicaciones Ajax. Pero Pager no sólo se utiliza para paginar enlaces en HTML, sino que ya está listo para Ajax, que es más popular que Super Girl. Echemos un vistazo a cómo se integran y aplican estos dos paquetes.
Buscapersonas y Javascript
Ahora que hemos dado el primer paso, Pager ya puede crear enlaces JavaScript. La integración con Ajax debería ser posible en teoría. El siguiente es un ejemplo de paginación de Pager y JavaScript:
TEXTO SIMPLE.
PHP:
require_once'Pager/Pager.php';
$data=range(1,100);//una matriz de datos para paginar
$pager_params=matriz(
'modo' =>'Deslizante',
'append' =>false, //no agregue los parámetros GET a la URL
'ruta' =>'',
'fileName'=>'javascript:revealDiv(%d)', //Pager reemplaza "%d" con el número de página...
'perPage' =>10,//mostrar 10 elementos por página
'delta' =>5,
'itemData'=>$datos,
);
$paginador= & Buscapersonas::factory($paginador_params);
$n_pages=$pager->numPages();
$enlaces=$buscapersonas->getLinks();
?>
<html>
<cabeza>
<tipo de script="texto/javascript"idioma="javascript">
varn_pages =<?phpecho$n_pages?>;
función revelarDiv(n)
{
for(varcount=1;count<= n_pages;count++){
document.getElementById("página"+count).style.display ='none';
}
document.getElementById("página"+n).style.display ='bloque';
}
</script>
<tipo de estilo="texto/css">
div.página{
fondo:#FFFF99;
borde superior: 1px sólido#FFBF99;
borde inferior: 1px sólido#FFBF99;
}
</estilo>
</cabeza>
<cuerpo>
<h1>PEAR::Ejemplo de página con JavaScript</h1>
<?phpecho$enlaces['páginas'];?>
<hora/>
<?php
para($i=1;$i<=$n_páginas; ++$i){
echo'<div class="página" id="página'.$i.'">';
echo'<h2>Página '.$i.'</h2>';
foreach($pager->getPageData($i)as$item){
echo'Artículo '.$artículo.'<br />';
}
eco'</div>';
}
?>
<hora/>
<tipo de script="texto/javascript"idioma="javascript">
revelarDiv(1);
</script>
</cuerpo>
</html>
En el ejemplo, todos los datos de paginación se colocan en una etiqueta div y se definen dos parámetros importantes: ruta (vacía) y nombre de archivo originalmente se suponía que era el nombre de archivo del enlace, pero aquí se reemplaza con javascript.
El ejemplo de batalla de Ajax incluye tres archivos page.html, server.php, testdata.php
página.html
Utilice javascript dinámico--server.php para procesar datos y llame a HTML_AJAX.replace('target', 'testdata.php') para reemplazar el contenido del div con la identificación del objetivo.
TEXTO SENCILLO
PHP:
<html>
<cuerpo>
<h1>PEAR::Ejemplo de página con AJAX</h1>
<script type="text/javascript"src="server.php?client=all"></script>
<div id="target">Soy el objetivo</div>
<tipo de script="texto/javascript">
HTML_AJAX.replace('destino', 'testdata.php');
</script>
</cuerpo>
</html>
datos de prueba.php
Este es un programa PHP muy simple que obtiene los datos de paginación y genera
TEXTO SIMPLE
en HTML.
PHP:
<?php
require_once'Pager/Pager.php';
$data=range(1,100);//una matriz de datos para paginar
$pager_params=matriz(
'modo' =>'Deslizante',
'append' =>false, //no agregue los parámetros GET a la URL
'ruta' =>'',
'fileName'=>'javascript:HTML_AJAX.replace('target','testdata.php?pageID=%d');', //El buscapersonas reemplaza "%d" con el número de página...
'perPage' =>10,//mostrar 10 elementos por página
'delta' =>1,
'itemData'=>$datos,
);
$paginador= & Buscapersonas::factory($paginador_params);
$n_pages=$pager->numPages();
$enlaces=$buscapersonas->getLinks();
echo'<p>Este contenedor está cargado con una llamada AJAX</p>';
echo'<p><span class="datetime">FechaHora: '.date('Ymd H:i:s').'</span></p>';
echo'<h3>Página '.$pager->getCurrentPageId().'</h3>';
foreach($pager->getPageData()as$elemento){
echo'Artículo '.$artículo.'<br />';
}
echo'<hr />'.$pager->enlaces;
?>
de
escena.php y use HTML_AJAX_Server para manejar cosas problemáticas como ajax.
PHP:
<?php
incluir'HTML/AJAX/Server.php';
$servidor=newHTML_AJAX_Server();
$servidor->handleRequest();
?>