Autor Zpráva
mark009
Profil *
Dobrý den,
Potřeboval bych pomoct se stránkováním.

strankovani
            // lavy navigator
            echo "<div class='pagination right'>";
    $spat = '&laquo;';
    if ($strana2 > 0) {
        $spat = '<a href="index.php?page=foto&amp;kat='.$kat.'&amp;strana='.($strana2 - 1).'" title="Zpět">'.$spat.'</a>';
    }
    echo $spat.'  ';
    
    // jednotlive strany
    for ($i = 0; $i <= $str; $i++) {
        if ((($i > $strana2 - 5) && ($i < $strana2+ 5)) || ($i == 0) || ($i == $str)) {
            // nahrada cisel skrytych stranok za bodky
            $bodky_l = '';
            $bodky_p = '';
            if (($i == 0) && ($strana2 > 1)) $bodky_l = '.. ';
            if (($i == $str) && ($pg < $str - 1)) $bodky_p = '.. ';
    
            if ($i == $strana2) {
                echo '<a href="#" class="active">'.($i + 1).'</a> '; // aktualnu stranku zvyrazni inou farbou
            } else {
                echo $bodky_p.'<a href="index.php?page=foto&amp;kat='.$kat.'&amp;strana='.$i.'" title="Strana '.($i + 1).'">'.($i + 1).'</a> '.$bodky_l;
            }
        }
    }

// pravy navigator
    $dalsie = '&raquo;';
    if ($strana2 < $str) {
        $dalsie = '<a href="index.php?page=foto&amp;kat='.$kat.'&amp;strana='.($strana2 + 1).'" title="Další">'.$dalsie.'</a>';
    }
    echo ''.$dalsie;

echo "</div>";

Zobrazí se mi o stránku víc tedy << 1 | 2 >> a mělo být jen << 1 >>
a právě na té druhé stránce jak kliknu nic není.Nevím jak to mohu zrušit a by to nepřičítalo když tam nic není.
Tori
Profil
Jen tipuju, že by mělo být: for ($i = 0; $i < $str; $i++) {
mark009
Profil *
ano už tam není ta 2,ale je tam teď odkaz >> neměl by být v odkazu když tam dále nic není.
Tori
Profil
mark009:
Nemáte totiž ujasněné, jestli v případě, že máte třeba 3 strany, budete v cyklu i okolo pracovat s rozsahem 1-3 nebo 0-2. Takže někde přičítáte jedničku a jinde zas ne (např. podmínka na ř.28), což způsobuje tu chybu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0