Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Stronicowanie, Podział na strony
mith
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 14.04.2006

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


Witam
Mam mały problem mianowicie jak można przerobić ten skrypt tak aby był możliwy podział na strony wraz z możliwością wyboru strony np.:
<< < 1 2 3 [4] 5 6 7 > >>
I żeby na stronie było wyświetlane np. tylko 15 wierszy tej tabelki.

Dzięki z góry.

  1. <?
  2. include('db.php');
  3.  
  4. $result = mysql_query('SELECT * FROM tabela ORDER BY nazwa');
  5. if ($row = mysql_fetch_array($result)) {
  6.  
  7. print('<table border="1" width="100%" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#F3F3F3">
  8. <tr><td><p align="left"><b>Nazwa</b></td>
  9. </tr><tr>
  10. ');
  11.  
  12. do {
  13.  
  14. print ('<td>'.$row["nazwa"].'</font></td></tr>
  15. ');
  16.  
  17. } while ($row = mysql_fetch_array($result));
  18. print('</table>');
  19. } else {
  20. print "Błąd: Nie odnaleziono rekordów.";
  21. }
  22. ?>


PS: Wiem że na forum dużo tego jest ale mi jest potrzebny akurat ten skrypt (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Master Miko
post
Post #2





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Było setki tysięcy razy!
Poszukaj w google, albo popatrz w to:
http://phpedia.pl/wiki/Stronicowanie
aby zmodyfikować swój kod (będzie to bardzo łatwe)

Albo odwrotnie.. zmodyfikuj kod na php.wiki swoimi danymi (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)




by php.wiki, zmodyfikowany dla Ciebie... nie ma tylko intrukcji warunkowej czy istnieją jakieklowiek rekordy.

  1. <?php
  2. define('ILOSC_WYNIKOW_NA_STRONIE', 5);
  3.  
  4. include('db.php'); // połączenie z bazą itp
  5.  
  6. $SQL = "SELECT SQL_CALC_FOUND_ROWS * 
  7.        FROM tabela 
  8.        ORDER BY nazwa ASC 
  9.        LIMIT ".mysql_escape_string((int)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE;
  10. // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając 
    od $_GET['porcja']*ILOSC_NA_STRONIE
  11. $RES = mysql_query($SQL); // wykonujemy zapytanie
  12.  
  13. print('<table border="1" width="100%" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#F3F3F3">
  14. <tr><td><p align="left"><b>Nazwa</b></td>
  15. </tr><tr>
  16. ');
  17.  
  18. while($row = mysql_fetch_assoc($RES)){
  19.    /*Wyswietlanie wyników, przykładowo:*/
  20. print ('<td>'.$row["nazwa"].'</font></td></tr>
  21. ');
  22. }
  23.  
  24. print('</table>');
  25.  
  26. // w inny sposób pobieramy ilosc danych w bazie
  27. $SQL = "SELECT FOUND_ROWS() as Ilosc";
  28. $RES= mysql_query($SQL);
  29. list($iloscWpisow) = mysql_fetch_row($RES);
  30.  
  31. //Teraz wypadało by wyswietlic jakąc nawigację 
  32.  
  33. //jesli nie jestesmy na pierwszej stronie
  34. if($_GET['porcja']>0){ 
  35.     //wyswietlamy link do poprzedniej strony
  36.    echo '<a href="?porcja='.($_GET['porcja']-1).'">Poprzednie</a> ';
  37. }
  38.  
  39. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  40.    echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> ';
  41. }
  42. //jesli nie jestesmy na ostatniej stronie
  43. if($_GET['porcja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){ 
  44.   //wyswietlamy link do nastepnej strony
  45.    echo ' <a href="?porcja='.($_GET['porcja']+1).'">Następne</a>';
  46. }
  47. ?>


Ten post edytował Master Miko 18.05.2006, 18:42:28
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 03:52