Walczę z paginacją danych wyciagniętych z tabel phpbb3 w celu wyświetlania newsów na stronie...
-newsy się wyświetlają, komentarze działają itd..
Ilość newsów na stronie do tej pory określałem przez LIMIT, lecz teraz chciał bym to robić przez paginację i tu rodzą się problemy:
-Paginacja działa, ale nie wyświetlają się linki do następnych i poprzednich stron...
tzn wyświetlają się w wyjątkowej sytuacji jak usunę:
if ($num_pages > 1) { $current_page = ($start/$display) + 1;
odpowiedzialne za to, że system, nie wyświetli stron poniżej strony pierwszej...
no a oczywiście jak to usunę to clickając na stronie1 link "poprzednia strona" leci na stronę -1 i juz błąd...
Problem 2 jest taki, że newsy wyświetlają się od najstarszego, a chciał bym żeby najnowsze wiadomości były na pierwszych stronach... a stare dalej (oczywiste:))
oto cały kod: (próbowałem zaradzić i jeszcze bardziej zamieszałem)
<?php include ('forum/config.php'); $forumid = '2'; // ID forum do pobierania newsow //liczba newsow na stronie $display = 2; $num_pages = $_GET['np']; } else { $query = "SELECT temat.topic_id, `topic_title`, `topic_replies`, `post_text`,`topic_time` FROM `phpbb_topics` as temat, `phpbb_posts` as post WHERE temat.topic_first_post_id = post.post_id AND temat.forum_id = {$forumid} ORDER BY temat.topic_id $start, $display"; $num_records = $row[0]; if ($num_records > $display) { } else { $num_pages = 1; } } $start = $_GET['s']; } else { $start = 0; } $x=mysql_query("SELECT temat.topic_id, `topic_title`, `topic_replies`, `post_text`,`topic_time` FROM `phpbb_topics` as temat, `phpbb_posts` as post WHERE temat.topic_first_post_id = post.post_id AND temat.forum_id = {$forumid} ORDER BY temat.topic_id LIMIT $start, $display"); echo "[{$czas}] {$r['topic_title']}</br>{$tresc} </br> Komentarzy: {$r['topic_replies']} | <a href='http://studionik.pl/forum/viewtopic.php?t={$r['topic_id']}'>Zobacz komentarze / Skomentuj</a></br>"; } if ($num_pages > 1) { $current_page = ($start/$display) + 1; if ($current_page != 1) { echo '<a href="newsy.php?s=' . ($start - $display) . '&np=' . $num_pages . '"><span class="stron"><< Poprzednia</span></a> '; } for ($i = 1; $i <= $num_pages; $i++) { if ($i !=$current_page) { echo '<a href="newsy.php?s=' . (($display * ($i - 1))) .'&np=' .$num_pages . '"><span class="stron2">' . $i . '</span></a> '; } else { echo '<a href="newsy.php?s=' . (($display * ($i - 1))) .'&np=' .$num_pages . '"><span class="stron">' . $i . '</span></a> '; } } if ($current_page !=$num_pages) { echo '<a href="newsy.php?s=' . ($start + $display) .'&np=' . $num_pages .'"><span class="stron">Następna >></span></a>'; } } $query = "SELECT temat.topic_id, `topic_title`, `topic_replies`, `post_text`,`topic_time` FROM `phpbb_topics` as temat, `phpbb_posts` as post WHERE temat.topic_first_post_id = post.post_id AND temat.forum_id = {$forumid} ORDER BY temat.topic_id"; ?>