Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Numerowanie podstron z 10 newsami
eunix
post
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
strife
post
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Pozdrawiam!
Go to the top of the page
+Quote Post
PaKoS
post
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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
Post #5





Goście







(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Zrobiłam, problem był w selekcie.
Go to the top of the page
+Quote Post
-jakis gosc-
post
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 (IMG:http://forum.php.pl/style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 19:45