- który ładnie mi porcjował plik w zależności od zmiennej $a. Wszystko pięknie, tylko wpadłem (może na niezbyt mądry) pomysł, żeby wyświetlać rekordy (konkretnie mają to być newsy) na podstawie statusu - statusy przewiduje trzy: zwykły, przyklejony na stałe i przyklejony na 24 godziny - oczywiście newsy przyklejone będą wyświetlane na górze, a reszta dalej będzie porcjowana. Wymyśliłem coś takiego:
<?php $l_odp_nastronie = 5; //liczba rekordów na jedną stronę $ile_rekordów = 100; //liczba rekordów w pliku $a = $_GET['a']; //numer strony $do = $ile_rekordow-(($a-1)*$l_odp_nastronie); //zakresy rekordów $od = $do-$l_odp_nastronie; $licznik++; if($licznik>$od && $licznik<=$do){ $tabliczka[] = $linia; //dane, które mają być wyświetlone na stronie } } ?>
<?php ++$licznik;$przyk=''; }//koniec pętli while ?>
I działa, jednak problem jest następujący:
- chciałbym, żeby liczba rekordów wyświetlana na jednej stronie była stała, niezależnie od liczby przyklejonych newsów
Teraz wyświetla przyklejone+zwykłe, dodatkowo jeśli w zakresie są przyklejone newsy, to ich nie wyświetla. Przykład: news 8 i 10 są przyklejone. Gdy wyświetlamy zakres 5-10 wyświetlane są dwa przyklejone + 5-2(bo przyklejone pomija, żeby się nie dublowały) z zakresu = 5. Gdy wyświetlamy zakres 0-5 wyświetlane są dwa przyklejone + 5 zwykłych = 7.
Da się to jakoś rozwiązać nie rezygnując z wydajności? Obawiam się, że będę musiał zrezygnować z użycia tej opcji. Mam pewnien pomysł - tworzyć "paczki" po 5 rekordów i je zliczać, jednak jak to powiązać z numerem strony zakresem rekordów w pliku? I czy to będzie wydajne?
P.S > Wiem, że baza jest lepsza etc. ale tu ma być plik i amen.