Autor Zpráva
ADO
Profil *
Mohol by mi prosim niekto pomoct ako mam spravit strankovanie v PHP bez MYSQL.
Chcel by som skript ktory by mi nacital zlozku z obrazkami, zoradil ich a potom
ich postupne vypisal na strany po 4.
Tu je moj skript ale to strankovanie mi nejako nefunguje.


<?php
$obr = "pictures/";
$adresar = opendir($obr);

while ($subor = readdir($adresar))
$subory[] = $subor;
rsort($subory);

$kolik = 10; // počet obrázkov na jednej strane
if(!isset($od)) $od = 1;

for($i = $od; $i < $od + $kolik; $i++) {
echo "<img src=\"$obr$subory[$i]\" style=\"galery\" />\n";
}

if(count($subory) > $kolik) {
if($od > $kolik)
echo('<a href="?od=' . ($od - $kolik) . '">&lt;</a> ');
if($od + $kolik < count($subory))
echo('<a href="?od=' . ($od + $kolik) . '">&gt;</a> ');
echo "<br/>";
}
closedir($adresar);
?>


Nefunguje to tak ze ked si dam napr. strankovanie po 4 obrazky na stranku a je
ich tam 12 tak mi nevypise 12 obrazkov ale iba 11. Malo by mi to vypisat 3
strany po 4 obrazky ale vypise 4 strany. Na prvych dvoch su 4 obrazky ale na
tretej su iba 3 a jeden prazdny a na poslednej 4 strane mi vypise zase 4 prazdne
obrazky ktore tam uz ani nemaju byt a text:

Undefined offset: 14 in c:\http\galery.php on line 13
Undefined offset: 15 in c:\http\galery.php on line 13
Undefined offset: 16 in c:\http\galery.php on line 13
---

Prosim pomozte
tiso
Profil
1. polia sa číslujú od 0, takže:
$od=0;
2. v cykle pre výpis obrázkov si nekontroluješ hornú hranicu poľa, takže:

$do=(($od+$kolik) >=count($soubory)) ? ($od+$kolik) : count($soubory);
for($i = $od; $i < $do; $i++) {
FantomX1
Profil
nj, len si to dal nahodou naopak
$do=(($od+$kolik) >=count($soubory)) ? count($soubory): ($od+$kolik);
tiso
Profil
...stáva sa...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0