diegoholiveira 3 Denunciar post Postado Agosto 11, 2006 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
Daniel Nakamashi 0 Denunciar post Postado Agosto 11, 2006 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