Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Numerowanie podstron z 10 newsami
eunix
post 25.03.2006, 18:19:30
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 22.02.2006

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


Chce coś takiego zrobić ale nie wiem jak.
Chodzi o to zeby jak na stronie głównej będzie więcej niż 10 newsów tworzy się strona i na stronie głównej pokazuje Pokaż strone 2 jeżeli będzie w bazie 30 newsów to ma pokazywać Pokaż strone 2, 3 . Cyfry oczywiście jako linki do tych podstron z newsami
Proszę o pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
strife
post 25.03.2006, 18:34:48
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Witam,

Poszukaj na forum pod hasłem stronnicowanie.

Za mało danych podałeś, czy dotyczy to bazy danych, plików etc. Tak czy siak podaj kawałek kodu to Ci pomożemy bo gotowego rozwiązania nie dostaniesz tongue.gif

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
PaKoS
post 25.03.2006, 23:56:33
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.03.2006

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


Prosty przykładzik opierający się na danych z bazy sql,
co jest co dojdź sam albo spytaj dry.gif
[to sie nazywa pagination albo właśnie stronicowanie]

  1. <?php
  2.  
  3. $connection = mysql_connect("HOST", "LOGIN", "HASŁO") 
  4. or die ("Nie można połączyć się z bazą SQL");
  5.  
  6. $db = mysql_select_db("NAZWA_BAZY", $connection) 
  7. or die ("Nie można wybrać bazy SQL");
  8.  
  9. //Wpisz tu ile na na strone
  10. $naStronie = 4; 
  11.  
  12. if($_GET['strona']) $strona = $_GET['strona']; 
  13. else $strona = 0; 
  14.  
  15. $query = mysql_query("SELECT count(*) FROM JAKAŚ_TAM_TABELA"); 
  16. $row = mysql_fetch_array($query); 
  17. $size = $row['count(*)']; 
  18. echo "Ilosc rekordow w bazie $size, obecna strona $strona, ilosc stron ".ceil($size/$naStronie)."<br><br>"; 
  19.  
  20. $start = $strona*$naStronie; 
  21. $query = mysql_query("SELECT * FROM JAKAŚ_TAM_TABELA LIMIT $start, $naStronie"); 
  22.  
  23. while($var = mysql_fetch_array($query)) { 
  24. echo $var[0]."<br>"; 
  25. } 
  26.  
  27. echo '<br>';
  28.  
  29. if($strona!=0) echo "<a href=?strona=".($strona-1).">POPRZEDNIA</a> "; 
  30.  
  31. for($i=0; $i<ceil($size/$naStronie); $i++) { 
  32. if($strona==$i) echo " [".($i+1)."]"; 
  33. else echo " <a href=?strona=$i>(".($i+1).")</a>"; 
  34. }
  35.  
  36.  
  37. if($strona<ceil($size/$naStronie)-1) echo " <a href=?strona=".($strona+1).">NASTEPNA</a>"; 
  38.  
  39. ?>
Go to the top of the page
+Quote Post
elee
post 7.04.2006, 16:18:51
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.03.2006

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


Mam problem z tym kodem, to znaczy stronnicuje, tylko nie pokazuje jak trzeba. Wyświetlam newsy po id w kolejności malejącej, to znaczy im wyższe id, tym bliżej początku wyświetlania. Podaję, jak to zrobiłam:

  1. <?php
  2.  
  3. //Wpisz tu ile na na strone
  4.  
  5. $naStronie = 5; 
  6.  
  7. if($_GET['strona']) $strona = $_GET['strona']; 
  8. else $strona = 0; 
  9.  
  10. $query = mysql_query("SELECT count(*) FROM `glowna`"); 
  11. $row = mysql_fetch_array($query); 
  12. $size = $row['count(*)']; 
  13. echo "Ilosc rekordow w bazie $size, obecna strona $strona, ilosc stron ".ceil($size/$naStronie)."<br><br>"; 
  14.  
  15. $start = $strona*$naStronie; 
  16. $query = mysql_query("SELECT * FROM `glowna` LIMIT $start, $naStronie"); 
  17.  
  18. while($var = mysql_fetch_array($query)) {
  19. //------------------------------
  20. $x = mysql_num_rows($query);
  21. do{
  22. $query=mysql_query("SELECT * FROM `glowna` WHERE id='$x'") or
  23. $select = mysql_fetch_array($query);
  24.  
  25. echo $select['tytul'];
  26. echo $select['tresc'];
  27.  
  28. $x=($x-1);
  29. }while($x!=0); 
  30. //-----------------------------
  31. }
  32.  
  33. echo '<br>';
  34. if($strona!=0) echo "<a href=?strona=".($strona-1).">POPRZEDNIA</a> "; 
  35.  
  36. for($i=0; $i<ceil($size/$naStronie); $i++) { 
  37. if($strona==$i) echo " [".($i+1)."]"; 
  38. else echo " <a href=?strona=$i>(".($i+1).")</a>"; 
  39. }
  40. if($strona<ceil($size/$naStronie)-1) echo " <a href=?strona=".($strona+1).">NASTEPNA</a>"; 
  41.  
  42.  
  43. ?>


Wygląda to tak.

Zżera mi 2 pierwsze newsy.

Co robię źle?
Go to the top of the page
+Quote Post
-Guest-
post 7.04.2006, 18:48:57
Post #5





Goście







biggrin.gif Zrobiłam, problem był w selekcie.
Go to the top of the page
+Quote Post
-jakis gosc-
post 7.04.2006, 22:45:24
Post #6





Goście







Cytat(PaKoS @ 2006-03-25 22:56:33)
Prosty przykładzik opierający się na danych z bazy sql,
co jest co dojdź sam albo spytaj dry.gif
[to sie nazywa pagination albo właśnie stronicowanie]

  1. <?php
  2.  
  3. $connection = mysql_connect("HOST", "LOGIN", "HASŁO") 
  4. or die ("Nie można połączyć się z bazą SQL");
  5.  
  6. $db = mysql_select_db("NAZWA_BAZY", $connection) 
  7. or die ("Nie można wybrać bazy SQL");
  8.  
  9. //Wpisz tu ile na na strone
  10. $naStronie = 4; 
  11.  
  12. if($_GET['strona']) $strona = $_GET['strona']; 
  13. else $strona = 0; 
  14.  
  15. $query = mysql_query("SELECT count(*) FROM JAKAŚ_TAM_TABELA"); 
  16. $row = mysql_fetch_array($query); 
  17. $size = $row['count(*)']; 
  18. echo "Ilosc rekordow w bazie $size, obecna strona $strona, ilosc stron ".ceil($size/$naStronie)."<br><br>"; 
  19.  
  20. $start = $strona*$naStronie; 
  21. $query = mysql_query("SELECT * FROM JAKAŚ_TAM_TABELA LIMIT $start, $naStronie"); 
  22.  
  23. while($var = mysql_fetch_array($query)) { 
  24. echo $var[0]."<br>"; 
  25. } 
  26.  
  27. echo '<br>';
  28.  
  29. if($strona!=0) echo "<a href=?strona=".($strona-1).">POPRZEDNIA</a> "; 
  30.  
  31. for($i=0; $i<ceil($size/$naStronie); $i++) { 
  32. if($strona==$i) echo " [".($i+1)."]"; 
  33. else echo " <a href=?strona=$i>(".($i+1).")</a>"; 
  34. }
  35.  
  36.  
  37. if($strona<ceil($size/$naStronie)-1) echo " <a href=?strona=".($strona+1).">NASTEPNA</a>"; 
  38.  
  39. ?>

Jeśli to możliwe to prosiłbym o napisanie co tu dopisać aby link do strony na której aktualnie jestem był nieaktywny,tzn wyświetlał się sam numer, thx z gory
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: 25.06.2025 - 06:23