Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS][PHP]Paginacja ogłoszeń., jak wyżej.
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, mam następujący problem: mam w bazie danych dajmy na to 1000 ogłoszeń, na stronę chcę wyświetlać 6 ogłoszeń, a co do 'numerków' stron to mam takie coś :


  1.  
  2. <div class="nr"><a href="">1</a></div>
  3. <div class="nr"><a href="">2</a></div>
  4. <div class="nrt"><a href="">3</a></div> // <--- to jest strona na której obecnie się znajduje.
  5. <div class="nr"><a href="">4</a></div>
  6. <div class="nr"><a href="">5</a></div>


i chcę zrobić tak, żeby wyświetlało numery stron 2+ i 2- czyli np. jestem na stronie 4 to wyświetla mi numerki stron: 2,3,4,5,6

Proszę o jakieś rady / wskazówki, bo nie mam pojecia jak się za to wziąć..

Dzięki z góry!

@@@@@@


Dodam jeszcze, że teraz te ogłoszenia tak wyświetlam:


  1.  
  2. <?php
  3. $wynik = mysql_query("SELECT * FROM `tabela`") or die('Błąd zapytania');
  4. if(mysql_num_rows($wynik) > 0) {
  5. while($r = mysql_fetch_assoc($wynik)) {
  6.  
  7. echo $r['ogloszenie'];
  8. }
  9. }
  10. ?>


Ten post edytował miras 20.08.2012, 20:10:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
johnyMajster
post
Post #2





Grupa: Zarejestrowani
Postów: 151
Pomógł: 2
Dołączył: 2.08.2012
Skąd: Wrocław

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


jezeli jestes na stronie pierwszej i chcesz widziec 2 3 4 5. To musisz przesłąc do twojego dokumentu jedynkę za pomocą np GET lub POST. Wtedy w pętli wypisujesz wszystko co nie jest przesłana cyfrą.
Go to the top of the page
+Quote Post
miras
post
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


tak, tyle to rozumiem, z tym, że dajmy na to zrobię tak: np. odnośnik do strony numer 2 będzie: index.php?page=2, i jak to teraz zrobić ? dać ORDER BY id DESC LIMIT NUMERSTRONY*6 (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
johnyMajster
post
Post #4





Grupa: Zarejestrowani
Postów: 151
Pomógł: 2
Dołączył: 2.08.2012
Skąd: Wrocław

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


jak juz wejdziesz na strone np nr 2 to co konkretnie chcesz wyswietlic?? Bo nie wiem czy Cie rozumiem
Go to the top of the page
+Quote Post
miras
post
Post #5





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


jak już pisałem, to chcę wyświetlać po 6 ogłoszeń na stronę, więc na pierwszej stronie będą ogłoszenia z przedziału 1-6 a na drugiej stronie z przedziału 7-13

Ten post edytował miras 20.08.2012, 20:32:20
Go to the top of the page
+Quote Post
johnyMajster
post
Post #6





Grupa: Zarejestrowani
Postów: 151
Pomógł: 2
Dołączył: 2.08.2012
Skąd: Wrocław

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


musisz zrobic pewien przelicznik w zapytaniu bedzie to tak:
$select = 'SELECT * FROM `tabela` ORDER BY `id` desc LIMIT '.$count.' offset '.$offset
$count ilosc wyników czyli 6
$offset np 6*2
Go to the top of the page
+Quote Post
miras
post
Post #7





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


no dobrze, mam tak:


  1.  
  2. $strona=$_GET['page']*6;
  3. $wyniki=6;
  4.  
  5. $wynik = mysql_query("SELECT * FROM `tabela` ORDER BY `id` desc LIMIT $wyniki,$strona") or die('Błąd zapytania');


I błąd zapytania ?

tzn, już jest dobrze:


  1.  
  2. $wyniki=6;
  3. if (!$_GET['page']) {
  4. $strona=1;
  5. } else {
  6. $strona=$_GET['page']*6;
  7. }
  8.  
  9.  
  10. $wynik = mysql_query("SELECT * FROM `anons` ORDER BY `id` desc LIMIT $wyniki,$strona") or die('Błąd zapytania');
  11.  


dajmy na to page=4 daje nam 24 ogłoszenia na stronie..
Go to the top of the page
+Quote Post
johnyMajster
post
Post #8





Grupa: Zarejestrowani
Postów: 151
Pomógł: 2
Dołączył: 2.08.2012
Skąd: Wrocław

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


zamiast przecinka daj polecenie OFFSET
Go to the top of the page
+Quote Post
miras
post
Post #9





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Ok, dzięki, a co jeszcze radzisz zrobić z tym numerowaniem stron:

biorąc pod uwagę taki 'układ':
  1. <div class="nr"><a href="">1</a></div>
  2. <div class="nr"><a href="">2</a></div>
  3. <div class="nrt"><a href="">3</a></div> // <--- to jest strona na której obecnie się znajduje.
  4. <div class="nr"><a href="">4</a></div>
  5. <div class="nr"><a href="">5</a></div>
Go to the top of the page
+Quote Post
johnyMajster
post
Post #10





Grupa: Zarejestrowani
Postów: 151
Pomógł: 2
Dołączył: 2.08.2012
Skąd: Wrocław

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


Z klasami dobrze wymysliłes tylko nie w divach lecz w

  1. <ul>
  2. <li><a href="vs1.html" title="Vertical Menu - Page 1">Stage 1</a></li>
  3. <li><a href="vs2.html" title="Vertical Menu - Page 2">Stage 2</a></li>
  4. <li><a href="vs3.html" title="Vertical Menu - Page 3">Stage 3</a></li>
  5. <li><a href="vs4.html" title="Vertical Menu - Page 4">Stage 4</a></li>
  6. <li><a href="vs5.html" title="Vertical Menu - Page 5">Stage 5</a></li>
  7. <li><a href="vs6.html" title="Vertical Menu - Page 6">Stage 6</a></li>
  8. </ul>

i drukuj to w php wtedy mozesz wydrukowac zawsze inna klase tam gdzie masz aktywny numerek czyli inaczej go ostylowac
Go to the top of the page
+Quote Post
miras
post
Post #11





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Ok, dzięki - problem rozwiązany.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 14:57