Paginierung (Vorheriger | Nächster) mit Smarty

Ich mache einen Katalog von clubs und ich möchte die Grenze auf jeder Seite 10 Vereine zum Beispiel, aber ich kann nicht umbrochen, mein Kopf herum. Ich habe versucht SmartyPaginate, aber es funktioniert nicht (Sprach der Entwickler sagte mir, es nicht zu verwenden).

clubs.php

<?php

include('configs/pdo.inc.php');
include('libs/Smarty.class.php');

//create object
$smarty = new Smarty;

//Clubs ophalen
try {
    $query = $oPDO->prepare("SELECT * FROM V_clubs WHERE Zichtbaar = 1 ORDER BY ID ASC LIMIT 10");
    $query->execute();

    $t = array();
    foreach ($query as $row) {
        $t[$row['ID']] = $row;
    }

    $smarty->assign('clubs', $t);

    //Categorieen ophalen
    $categorie = $oPDO->query("SELECT * FROM t_categorie ORDER BY D_categorie ASC");
    $smarty->assign('categorie', $categorie);
    //Provincies ophalen
    $prov = $oPDO->query("SELECT * FROM t_provincies ORDER BY D_provincie ASC");
    $smarty->assign('prov', $prov);
    //Clubteller
    $xclubs = $oPDO->prepare("SELECT ID from V_clubs");
    $xclubs->execute();
} catch (PDOException $e) {
    echo '<pre>';
    echo 'Regelnummer: ' . $e->getLine() . '<br>';
    echo 'Bestand: ' . $e->getFile() . '<br>';
    echo 'Foutmelding: ' . $e->getMessage() . '<br>';
    echo '</pre>';
}

//display it
$smarty->display('extends:layout.tpl|header.tpl|clubs.tpl|footer.tpl');
?>

clubs.tpl

{extends file="layout.tpl"}
{block name=title}Clubs{/block}
{block name=content}
<form name="clubsearch" method="POST" action="{$SCRIPT_NAME}">
    <div class="span-6">
        <p><label for="categorie">Categorie:</label><br />
            <select id="categorie" name="categorie">
                <option value="*">Alle disciplines</option>
        {foreach $categorie as $c}
                <option value="{$c.D_categorie}">{$c.D_categorienaam}</option>
        {/foreach}
            </select></p>
    </div>
    <div class="span-4">
        <p><label for="provincie" name="provincie">Provincie:</label><br />
            <select id="provincie" name="provincie">
                <option value="*">Alle provincies</option>
        {foreach $prov as $p}
                <option value="{$p.D_provincie}">{$p.D_provincienaam}</option>
        {/foreach}
            </select><p>
    </div>
    <div class="span-4">
        <p><label for="gemeente">Gemeente:</label><br />
            <select id="gemeente" name="gemeente">
                <option value="*">Alle gemeentes</option>
        {foreach $clubs as $c}
                <option value="{$c.Gemeente}">{$c.Gemeente}</option>
        {/foreach}
            </select></p>
    </div>
    <div class="span-2">
        <input type="submit" name="zoekclub" id="zoekclub" value="Zoeken">
    </div>
</form>
<hr>
{if isset($smarty.get.id)}
<div class="span-6 colborder">
    <table>
        <tr>
            <td style="font-weight: bold;">Club</td>
        </tr>
        <tr>
            <td>{$clubs[$smarty.get.id].Naam}</td>
        </tr>
        <tr>
            <td style="font-weight: bold;">Categorie</td>
        </tr>
        <tr>
            <td>{$clubs[$smarty.get.id].Categorie}</td>
        </tr>
        <tr>
            <td style="font-weight: bold;">Provincie</td>
        </tr>
        <tr>
            <td>{$clubs[$smarty.get.id].Provincie}</td>
        </tr>
        <tr>
            <td style="font-weight: bold;">Gemeente</td>
        </tr>
        <tr>
            <td>{$clubs[$smarty.get.id].Gemeente}</td>
        </tr>
        <tr>
            <td style="font-weight: bold;">Website</td>
        </tr>
        <tr>
            <td><a href="{$clubs[$smarty.get.id].Contact}" target="_blank">{$clubs[$smarty.get.id].Contact}</a></td>
        </tr>
    </table>
</div>
<div class="span-8 last">
    <table>
        <tr>
            <td style="font-weight: bold;">Info</td>
        </tr>
        <tr>
            <td>{$clubs[$smarty.get.id].Extra}</td>
        </tr>
    </table>
</div>
<div class="span-4 first"><p><a onClick="history.go(-1)"><< Terug</a></p></div>
{else}
<table>
    <tr>
        <th>Club</td>
        <th>Categorie</td>
        <th>Provincie</td>
        <th>Gemeente</td>
    </tr>
{foreach $clubs as $c}
    <tr>
        <td><a href="{$SCRIPT_NAME}?id={$c.ID}"><b>{$c.Naam}</b></a></td>
        <td>{$c.Categorie}</td>
        <td>{$c.Provincie}</td>
        <td>{$c.Gemeente}</td>
    </tr>
{/foreach}
</table>
{/if}
{/block}

Ich würde gerne Weiter und zurück und zeigen nur X Anzahl der Datensätze. Wie kann ich dies angehen ?

Welche Probleme hast du, wenn Sie versucht haben, zu implementieren normalen Paginierung ?
fataler Fehler, ich erinnere mich nicht wirklich, aber der Entwickler sagte mir, es nicht zu verwenden.

InformationsquelleAutor | 2011-06-27

Schreibe einen Kommentar