Ik maak een site, een catalogus van vechtsporten. Nu ben ik op een punt gekomen waar het een beetje ingewikkeld wordt, ik zou telkens per pagina 10 records willen tonen. Dus als er 95 clubs zijn, zouden er 9 pagina's zijn en 10 op elke pagina, 5 op de laatste.

Hoe zou ik dit het beste aanpakken ? Links, scripts ? Liefst basic :)

Ik werk met Smarty en mijn code ziet er momenteel zo uit (geen poging tot pagina's).

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="clubs.php">
    <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>
{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">
    <table>
        <tr>
            <td style="font-weight: bold;">Info</td>
        </tr>
        <tr>
            <td>{$clubs[$smarty.get.id].Extra}</td>
        </tr>
    </table>
</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}

[/code]

Screenshot:
tik het volgende eens in bij een zoekmachien:
php smarty and pagination

Reageren