Autor Zpráva
davef6
Profil
Mám výpis všech souborů v adresáři a potřeboval u toho vyřešit stránkování, aby se mi na stránce zobrazovalo max 30 souborů a další na jiných stránkách. díky za odpověď
Casero
Profil
udělej si proměnou, do ktere budeš každým souborem přičitat 1, a tím to pak omezíš
tiso
Profil
a potřeboval u toho vyřešit stránkování
Tak to vyrieš... Nemáš zač...
Casero
Profil
tiso
dneska to berež nějak moc do slova, ne?,. :-D
davef6
Profil
trošku podrobnějc pls, jsem teprve začátečník
tiso
Profil
Casero
Iba trošku...
davef6
Buď tu daj ten svoj skript, alebo popíš ako funguje...
davef6
Profil
Tady to je

<?
$slozka = opendir("vyzvaneni/mp3");
$licha=true;
while($soubor = readdir($slozka)) {
if ($soubor=="." || $soubor=="..") continue;

$barva = $licha ? "#F3F3F3" : "#FFFFFF";
echo "</td></tr>\n";

echo "<tr style=\"background-color:$barva\"><td align=\"right\">".date("j.n.Y",filemtime("vyzvaneni/mp3/$soubor"))."</ td><td><a href=\"vyzvaneni/mp3/$soubor\">".$soubor."</a></td>" . "<td align=\"right\">".round(filesize("vyzvaneni/mp3/$soubor")/1024)." kB</td></tr>";
$licha=!$licha;
}
closedir($slozka);

?>
tiso
Profil
1. načítaj si súbory (názvy) do poľa
2. ak je ich viac ako ten limit (30), tak vypíš len súbory 0-29, zobraz odkaz na ďalšie stránky a predaj parameter v url
davef6
Profil
nemohl by mi to někdo napsat?? asi blbá otázka co
Joker
Profil
Ještě by to šlo takhle
(...)
$licha=true;
$i = 0
$offset = intval($_GET["offset"]);
$pocet_na_strance = 30;
while(($soubor = readdir($slozka)) && ($i < ($offset + $pocet_na_strance))) {
if ($soubor=="." || $soubor=="..") continue;
if($i < $offset) continue;
$i++;
(...)


Doufám, že je to pochopitelné.
Odkaz na první stránku by byl třeba muskript.php, na druhou stránku mujskript.php?offset=30, na třetí stránku mujskript.php?offset=60 a tak dále.
Případně můžete udělat něco jako mujskript.php?strana=2 a potom ve skriptu:
$strana = intval($_GET["strana"]);
$pocet_na_strance = 30;
$offset = ($strana-1) * $pocet_na_strance
davef6
Profil
díky moc
davef6
Profil
použil jsem ten druhej způsob a píše mi to
Parse error: parse error, unexpected T_VARIABLE in c:\inet_srv\http\doc_root\mp3.php on line 146
davef6
Profil
což je tento řádek
$strana = intval($_GET["strana"]);
24_work
Profil *
on je to hlavne radek nad tim

-> $i = 0

--> $i = 0 ;
davef6
Profil
nj takovej blbej chyby sem si nevšimnul:D
davef6
Profil
asi jsem fakt lama, ale píše mi to
Notice: Undefined index: mp3.php?offset in c:\inet_srv\http\doc_root\mp3.php on line 146
na řádku - $strana = intval($_GET["strana"]);
Joker
Profil
davef6
To už není chyba, akorát poznámka... vypněte si zobrazování E_NOTICE :-)
Ale jinak: Opravdu to píše, že je nedefinovaný index jménem "mp3.php?offset"? Tohle byste tam nikde jako index neměl používat.

Jinak ale tyhle poznámky jsou způsobené tímhle:
Objeví se to, když přijdete na tu adresu bez toho GET parametru (například mp3.php, bez toho ?stranka=neco). Potom se v poli _GET položka "stranka" vůbec nezavede a PHP potom vyhodí poznámku, že se pokouším číst neexistující index pole.
Řešení je buď vypnout poznámky anebo si před načítáním ověřit, že ta položka opravdu existuje:
$strana = isset($_GET["strana"]) ? intval($_GET["strana"]) : false;
Toto téma je uzamčeno. Odpověď nelze zaslat.