Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]max 15 rekordów na stronę, jak zrobić żeby automatycznie dodawało mi kolejne strony?
Oscar_83
post 22.05.2007, 22:27:36
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
barat
post 22.05.2007, 22:46:20
Post #2





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował barat 22.05.2007, 22:47:48
Go to the top of the page
+Quote Post
mls
post 22.05.2007, 22:46:56
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Go to the top of the page
+Quote Post
Oscar_83
post 22.05.2007, 22:52:29
Post #4





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 10:41