xsl-list
[Top] [All Lists]

Re: Pagination with query and sorting

2005-03-16 11:08:46


How do I limit the results so that the pagination (below) will function properly?

thanks!


<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>

    <xsl:param name="keyword">none</xsl:param>
        <xsl:param name="keyregion">none</xsl:param>
        <xsl:param name="sterm">none</xsl:param>
        <xsl:param name="sorder">none</xsl:param>
        <xsl:param name="script">page-e.php</xsl:param>
        <xsl:param name="curpage">1</xsl:param>
        <xsl:param name="lastpage">1</xsl:param>

<xsl:template match="/">
    <xsl:for-each select="fiches/fiche[texte/cattouristiqueID=$keyword]">

        <xsl:sort order="{$sorder}" select="texte/fichetitre"/>

    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr class="myBkgnd_{position()  mod 2 -1}">
        <td width="*" class="pad">
    <a>
        <xsl:attribute name="href">
                        <xsl:text>page-g.php?key=</xsl:text>
<xsl:value-of select="numero"/><xsl:text>&amp;keyword=</xsl:text><xsl:value-of select="texte/cattouristiqueID"/>
        </xsl:attribute>
                <xsl:value-of select="texte/fichetitre" />
    </a>

        </td>
<td width="200" align="center" class="pad"><xsl:value-of select="texte/typeheberg" /></td> <td width="100" align="center" class="pad"><xsl:value-of select="region/regionnseo" /></td>
    </tr>
    </table>

    </xsl:for-each>

  <!-- insert the page navigation links -->
  <xsl:call-template name="pagination" />

</xsl:template>

<xsl:template name="pagination">

  <table border="0" class="pagination">
    <tr class="pagination">
      <xsl:choose>
        <xsl:when test="$curpage&lt;=1">
          <!-- we are on page 1, so there is no navigation backwards -->
          <td class="pagination">Permier</td>
          <td class="pagination">Précédent</td>
        </xsl:when>
        <xsl:otherwise>
          <!-- insert links for first/previous page -->
<td class="pagination"><a href="{$script}?keyword={$keyword}&amp;page=1">« <b>Permier</b></a></td> <td class="pagination"><a href="{$script}?keyword={$keyword}&amp;page={$curpage -1}">« <b>Précédent</b></a></td>
        </xsl:otherwise>
      </xsl:choose>

      <!-- insert "page x of y" -->
      <td class="pagination">
        <xsl:text>Page </xsl:text>
        <xsl:value-of select="$curpage"/>
        <xsl:text> de </xsl:text>
        <xsl:value-of select="$lastpage"/>
      </td>

      <xsl:choose>
        <xsl:when test="$curpage=$lastpage">
          <!-- we are on the last page, so there is no navigation forwards -->
          <td class="pagination">Suivant</td>
          <td class="pagination">Dernier</td>
        </xsl:when>
        <xsl:otherwise>
          <!-- insert links for last/next page -->
<td class="pagination"><a href="{$script}?keyword={$keyword}&amp;page={$curpage +1}"><b>Suivant</b> »</a></td> <td class="pagination"><a href="{$script}?keyword={$keyword}&amp;page={$lastpage}"><b>Dernier</b> »</a></td>
        </xsl:otherwise>
      </xsl:choose>

    </tr>
  </table>

</xsl:template>
</xsl:stylesheet>


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>
  • Re: Pagination with query and sorting, Jason Trépanier <=