Autor | Zpráva | ||
---|---|---|---|
Fastman Profil |
Zdravím,
Mám jednoduché stránkování 1,2,3,4.. řízené přes $start = $_GET['page']; problém však je, že se posouvá o jeden záznam navíc (nikoliv blok záznamů).
Osobně bych viděl problém zde: "SELECT * FROM Tabulka ORDER BY timestamp DESC LIMIT $start, 30" Abych to popsal. Při vstupu na stránku mám záznamy (GET má hodnotu 0): 1. jablko 2. hruska 3. meloun Když si přepnu na 1 (u stránkování, takže GET má hodnotu 1), tak se záznamy posunou následovně: 1. hruska 2. meloun 3. citron //stránkování 1,2,3... $sqlss = "SELECT COUNT(timestamp) FROM Tabulka"; $rs_result = mysqli_query($pripojuji,$sqlss) or die('Could not look up user information; ' . mysqli_error($pripojuji)); $rowak = mysqli_fetch_row($rs_result); $total_records = $rowak[0]; $total_pages = ceil($total_records / 30); for ($i=1; $i<=$total_pages; $i++) { echo "<a href='index.php?p=zaznamy&page=".$i."'>".$i."</a> "; }; Vše jinak funguje. Děkuji za odpovědi. |
||
juriad Profil |
Fastman:
Nejspíš špatně vypočítáváš proměnnou $start. Uvědom si, že to nemá obsahovat číslo prvního záznamu, ale počet záznamů, které se mají přeskočit. Mimochodem, for není příkaz. Nepatří za něj středník. |
||
Fastman Profil |
juriad:
Děkuji za upozornění. A kdybych té proměnné přičetl + 30? Jak bych to podle Vás měl udělat? Nakonec by to muselo být takto 30, 60, 90.. |
||
juriad Profil |
#4 · Zasláno: 24. 5. 2015, 13:19:29
Určení aktuální strany z parametru v URL:
if (empty($_GET['page'])) { $page = 1; } else { $page = (int) $_GET['page']; if ($page <= 0) { $page = 1; } } $start = ($page - 1) * 30; Jinak vše můžeš nechat stejně. |
||
Fastman Profil |
#5 · Zasláno: 24. 5. 2015, 13:22:42
Wow! Díky moc.
|
||
Časová prodleva: 10 let
|
0