Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]max 15 rekordów na stronę
Forum PHP.pl > Forum > Przedszkole
Oscar_83
mam obecnie w księdze gości zrobiony limit wyświetlania 15 rekordów na strone:
  1. $query = "SELECT * FROM ksiega_gosci ORDER BY data DESC LIMIT 15";

jak zrobić żeby w momencie gdy pojawi się 16 wpis dodało 2 strone? korzystać z if?
barat
nie - musisz w adresie przekazać zmienną która to strona (np ?p=2)
I na podstawie tych danych obliczać limit (w przypadku gdy to P1 niech ustawia limit 15) , jak p2 to niech ustawia 16-30 itp ... jakiś wzór matematyczny smile.gif

Zapewne
$limit = 15 // ustawiasz na sztywno ile chcesz wyników na jednej stronie
$limit_up = $p*$limit
$limit_down = ($p-1)*$limit+1

dla przykładu jeśli to będzie strona nr 3 (p=3)
$limit_up = 3*15+1 czyli 45
$limit down= (3-1)*15+1 = 31

czyli pokaże wyniki od 31 do 45 (bo do limit możesz podać dwa parametry - górny i dolny)
Teraz kwestia if-ów smile.gif
mls
podpowiadam...

wylicz ile masz wpisów w księdze gości:
  1. SELECT COUNT(*) FROM ksiega_gosci


na podstawie powyższego policz ile stron powinna mieć księga:
  1. <?php
  2. $ile_stron = ceil($wynik_powyzszego / 15);
  3. ?>


mając liczbę stron możesz łatwo zrobić nawigację, np. z parametrem strona:
  1. <?php
  2. $strona = isset($_GET['strona']) && is_numeric($_GET['strona']) ? ($_GET['strona'] >= 1 ? $_GET['strona'] : 1) : 1;
  3. $strona = $strona > $ile_stron ? $ile_stron : $strona;
  4. ?>


w powyższej zmiennej strona znajdzie się numer strony (lub 1, jeśli nie został podany), dodatkowo z zabezpieczeniem przed podaniem nieistniejącego nr strony...

i ostatni krok - zapytanie sql pobierające listę wpisów:
  1. <?php
  2. $query = "SELECT * FROM ksiega_gosci ORDER BY data DESC LIMIT 15, ".(($strona - 1) * 15);
  3. ?>
Oscar_83
w chwili obecnej dopiero robie księgę gości - tzn zrobiłem ale jeszcze nie ma wpisów, chciałem zrobić tak że jeśli i wskoczy 16 wpis to ten 1 pojawiłby się automatycznie na 2 stronie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.