Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diegoholiveira

paginação em xsl, tem como?

Recommended Posts

Galera, eu to fazendo um livro de visitas usando php, mysql, xml e xsl, queria saber se tem como fazer paginação neste caso?

 

vou postar meus scripts aqui:

ps.: o post vai ficar grande, desculpem.

 

livro.php

<?php require_once('Connections/site.php'); ?><?phpif (!function_exists("GetSQLValueString")) {function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);  switch ($theType) {	case "text":	  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";	  break;		case "long":	case "int":	  $theValue = ($theValue != "") ? intval($theValue) : "NULL";	  break;	case "double":	  $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";	  break;	case "date":	  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";	  break;	case "defined":	  $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;	  break;  } return $theValue; } }$maxRows_rsLivro = 10;$pageNum_rsLivro = 0;if (isset($_GET['pageNum_rsLivro'])) {  $pageNum_rsLivro = $_GET['pageNum_rsLivro'];}$startRow_rsLivro = $pageNum_rsLivro * $maxRows_rsLivro;mysql_select_db($database_site, $site);$query_rsLivro = "SELECT * FROM site_livro ORDER BY data_livro DESC";$query_limit_rsLivro = sprintf("%s LIMIT %d, %d", $query_rsLivro, $startRow_rsLivro, $maxRows_rsLivro);$rsLivro = mysql_query($query_limit_rsLivro, $site) or die(mysql_error());$row_rsLivro = mysql_fetch_assoc($rsLivro);if (isset($_GET['totalRows_rsLivro'])) {  $totalRows_rsLivro = $_GET['totalRows_rsLivro'];} else {  $all_rsLivro = mysql_query($query_rsLivro);  $totalRows_rsLivro = mysql_num_rows($all_rsLivro);}$totalPages_rsLivro = ceil($totalRows_rsLivro/$maxRows_rsLivro)-1;header('Content-Type: application/xml');echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";echo "<?xml-stylesheet type=\"text/xsl\" href=\"livro.xsl\"?>";?><?php do { ?><livro><nome><?php echo $row_rsLivro['nome_usr']; ?></nome><msn><?php echo $row_rsLivro['msn_usr']; ?></msn><icq><?php if (!empty($row_rsLivro['icq_usr'])) { echo $row_rsLivro['icq_usr']; } else { echo "Não informado"; } ?></icq><cidade><?php echo $row_rsLivro['cidade_usr']; ?></cidade><data><?php echo date('d/m/Y - H:i', $row_rsLivro['data_livro']); ?></data><mensagem><?php echo $row_rsLivro['texto_livro']; ?></mensagem></livro><?php } while ($row_rsLivro = mysql_fetch_assoc($rsLivro)); ?><?phpmysql_free_result($rsLivro);?>

livro.xsl

<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE xsl:stylesheet  [	<!ENTITY nbsp   " ">	<!ENTITY copy   "©">	<!ENTITY reg	"®">	<!ENTITY trade  "™">	<!ENTITY mdash  "—">	<!ENTITY ldquo  "“">	<!ENTITY rdquo  "”"> 	<!ENTITY pound  "£">	<!ENTITY yen	"¥">	<!ENTITY euro   "€">]><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/><xsl:template match="/"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><meta name="description" content="" /><meta name="keywords" content="" /><meta name="author" content="" /><meta name="language" content="pt-br" /><title></title><link rel="stylesheet" href="estilos/layout.css" /><link rel="stylesheet" href="estilos/content.css" /></head><body><div id="base"><!-- HEADER *********************************************** --><div id="header">	<a href="#"><img src="images/top_logo.gif" alt="" class="logo" /></a>		<div id="menu">			<span>		<a href="#">Galeria de Fotos</a>		   		<a href="#">Livro de Visitas</a>		   		<a href="#">Notícias</a>		  		<a href="#">A Cidade</a>			 		<a href="#">Contato</a>		</span>		</div></div><div id="header-2">	<img src="images/top_logobase.gif" alt="" class="logo" />		<div class="tit">	  <h1>Livro de visitas </h1>	</div></div><!-- /HEADER *********************************************** --><!-- CONTENT *********************************************** --><div id="content"><div id="side-bar">			<img src="images/sidebar_tit.gif" alt="" />				<div class="foto"><a href="#"><img src="images/foto_teste.jpg" alt="" /></a></div>		<div class="legenda"><a href="#">Lançamento Capelinhense Ausente 20 anos / Em Nome do Santo - BH</a></div>				<div class="foto"><a href="#"><img src="images/foto_teste.jpg" alt="" /></a></div>		<div class="legenda"><a href="#">Lançamento Capelinhense Ausente 20 anos / Em Nome do Santo - BH</a></div>				<div class="foto"><a href="#"><img src="images/foto_teste.jpg" alt="" /></a></div>		<div class="legenda"><a href="#">Lançamento Capelinhense Ausente 20 anos / Em Nome do Santo - BH</a></div>				<div class="foto"><a href="#"><img src="images/foto_teste.jpg" alt="" /></a></div>		<div class="legenda"><a href="#">Lançamento Capelinhense Ausente 20 anos / Em Nome do Santo - BH</a></div>				<br />		<a href="#"><img src="images/sidebar_base.gif" alt="" border="0" /></a>	</div>	<!--/side-bar -->		<div id="content-site">	<!-- CONTENT SITE *********************************************** --><p>Mensagens:</p><hr /><xsl:for-each select="livro">  <p><xsl:value-of select="nome"/></p>  <p><xsl:value-of select="msn"/></p>  <p><xsl:value-of select="icq"/></p>  <p><xsl:value-of select="cidade"/></p>  <p><xsl:value-of select="data"/></p>  <p><xsl:value-of select="mensagem"/></p></xsl:for-each><!-- /CONTENT SITE *********************************************** -->		</div><!-- /content-site --></div><!-- /content --><!-- /CONTENT *********************************************** --><!-- FOOTER *********************************************** --><div id="footer">		<img src="images/rod_baselat.gif" class="base" />		<div class="menu">			<span>		<a href="#">Galeria de Fotos</a>		|		<a href="#">Livro de Visitas</a>		|		<a href="#">Notícias</a>		|		<a href="#">A Cidade</a>		|		<a href="#">Contato</a>		</span>		</div>	<div class="banners"><img src="images/rod.gif" alt="" border="0" usemap="#Map" />		<map name="Map" id="Map">	 <area shape="rect" coords="58,16,135,70" href="#" /><area shape="rect" coords="151,16,208,68" href="#" /><area shape="rect" coords="213,16,266,68" href="#" /><area shape="rect" coords="273,17,335,68" href="#" /><area shape="rect" coords="339,20,510,35" href="#" /><area shape="rect" coords="339,35,492,50" href="#" />	<area shape="rect" coords="340,50,442,65" href="#" /><area shape="rect" coords="545,24,708,63" href="#" /></map>	</div></div><!-- footer --><!-- /FOOTER *********************************************** --></div></body></html></xsl:template></xsl:stylesheet>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou meio iniciante nisso, mas acho que você pode fazer a paginação de dois jeitos.Como você gera o arquivo xml através de um php, você pode limitar a quantidade de livros retornados em xml e exibir por exemplo somente os livros de 10 a 20 ou de 20 a 30.Ou você pode carregar o xml de todos os livros retornados e limitar a quantidade deles no xsl mudando o atributo select do for-each. Por exemplo select="livro[position()>10 and position()<20]". Depois é só alterar o atributo select via javascript e mandar exibir de novo via javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.