Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Stronicowanie wynikow mysql, prubowalem juz wszystkich skryptow !:(
a1EL
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 29.05.2004
Skąd: Kraków

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


Witam.
No wiec mam kod ktory pobiera dane z bazy i je wyswietla wszystko jzu zrobilem tylko nie to stronicowanie sad.gif prubowalem wszystkich skryptow tutaj na forum ale zaden na moje nie dziala albo nieumiem ich przystosowac sad.gif Bardzo prosze o pomoc !
Tutaj jest kod
  1. <?php
  2. include('polaczenie.php');
  3.  
  4. $zapytanie = &#092;"SELECT * FROM tapety \";
  5. $wykonaj = mysql_query ($zapytanie);
  6.  
  7.  while($wiersz=mysql_fetch_array ($wykonaj)) {
  8. echo &#092;"<img src=\".$wiersz['url'].\"> <a href=\".$wiersz['nazwa'].\".rar><font color=blue><b>Pobierz</font></b></a> \";
  9. $i++;  
  10. $reszta = $i%3;
  11. if($reszta == 0){
  12. print '<br />';
  13. }
  14.  
  15. }
  16.  
  17.  
  18. ?>

Pozdrawiam i bardzo dzienkuje exclamation.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




nikt tu Ci gotowcow nie bedzie dawal.

Na forum bylo to 100 razy, proponuje poszukac i zobacyzc na jakiej zasadzie to dziala....

Krzywo patrze na ten temat dry.gif
Go to the top of the page
+Quote Post
strife
post
Post #3





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

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


Cytat(a1EL @ 2005-06-17 13:17:20)
Pozdrawiam i bardzo dzienkuje exclamation.gif

chyba dziękuje... winksmiley.jpg

Użyj w zapytaniu LIMIT...


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


@a1EL: zrozum jak ma dzialac taki skrypt i sam go sobie napiszesz:

1. masz wiele rekordow do wyswietlenia
2. okreslasz ile ma ich byc n ajednej stronie: $ile = 10
3. strona nr $nr_strony (==0) zawiera rekordy od $first (==1) do $last (==10) , czyli
$first = $ile * $numer_strony + 1; // 10 * 0 + 1 = 1
$last = ($ile + 1) * $numer_strony; // 10 *( 0 + 1 ) = 10
4. Pobierasz z bazy rekordy uzywajac "LIMIT $first, $ile"
5. wyswietlasz je

6. linki do kolejnych stron, to po prostu
PREV: 'link/?nr_strony=' . ( $numer_strony - 1)
NEXT: 'link/?nr_strony=' . ( $numer_strony + 1)

7. dodaj do tego sprawdzanie czy istnieje kolejna/poprzednia strona.
8. $ilosc_rekordow to " SELECT count( * )...."
9. ilosc stron to: ceil( $ilosc_rekordow / $ile )

Kod musisz napisac sam.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
a1EL
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 29.05.2004
Skąd: Kraków

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


Dzienki wielkie dr_bonzo
wyskrobalem z tego troche i smiga sobie ale niewiem paru rzeczy;)
teraz kod wyglada tak (niewiem czy dobrze zrobilem):
  1. <?php
  2. include('polaczenie.php');
  3. $ile = 10;
  4. $numer_strony = 0;
  5. $first = $ile * $numer_strony;
  6. $ile++;
  7. $last = $ile * $numer_strony;
  8. $zapytanie = &#092;"SELECT * FROM tapety LIMIT $first, $ile\";
  9. $wykonaj = mysql_query ($zapytanie);
  10. while($wiersz=mysql_fetch_array ($wykonaj)) {
  11. echo &#092;"<img src=\".$wiersz['url'].\"> <a href=\".$wiersz['nazwa'].\".rar><font color=blue><b>Pobierz</font></b></a> \";
  12. $i++;  
  13. $reszta = $i%3;
  14. if($reszta == 0){
  15. print '<br />';
  16. }
  17.  
  18. }
  19. $numer_strony--;
  20. $PREV = &#092;"link/?nr_strony=$numer_strony\";
  21. $numer_strony++;
  22. $NEXT = &#092;"link/?nr_strony=$numer_strony\";
  23.  
  24. include('zliczanie.php');
  25. $ilosc_stron = ceil($plikow/$ile);
  26. echo &#092;"$ilosc_stron\";
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35. ?>

i wyswietla mi dobrze na 11 plikow 2 strony na 1 jedna a na 0 zero stron
ale teraz niewiem jak porobic zeby byly te stronki sad.gif
Ps. ten plik zliczanie.php zlicza pliki w katalogu poniewaz nieumiem zliczac ilosci rekordow przez mysqla wygada on tak :
  1. <?php
  2. $directories_found = 0;
  3. $plikow = 0;
  4. $links_found = 0;
  5. $others_found = 0;
  6. $path = &#092;"tapety\";
  7. $path_id = opendir($path);
  8. while($file_name = readdir($path_id))
  9.  {
  10.  if($file_name != &#092;".\" and $file_name !=\"..\")
  11. {
  12. if(is_dir($path . &#092;"/\" . $file_name))
  13.  {
  14.  $directories_found++;
  15.  }
  16. elseif(is_file($path . &#092;"/\" . $file_name))
  17.  {
  18.  $plikow++;
  19.  }
  20. elseif(is_link($path . &#092;"/\" . $file_name))
  21.  {
  22.  $link_found++;
  23.  }
  24. else
  25.  {
  26.  $others_found++;
  27.  }
  28. }
  29.  }
  30. closedir($path_id);
  31.  
  32. ?>
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


  1. <?php
  2. // to jest zle
  3. $numer_strony--; // numer poprzedniej strony
  4. $PREV = &#092;"link/?nr_strony=$numer_strony\";
  5. $numer_strony++; // !!!!!!!!!!! numer aktualnej strony
  6. $NEXT = &#092;"link/?nr_strony=$numer_strony\";
  7.  
  8. // prosciej:
  9. $PREV = &#092;"link/?nr_strony=\" . ($numer_strony - 1);
  10. $NEXT = &#092;"link/?nr_strony=\" . ($numer_strony + 1);
  11.  
  12. ?>


Zliczanie rekordow w mysqlu:
  1. SELECT COUNT( * )
  2. FROM jakas_tabela WHERE {warunki}


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
a1EL
post
Post #7





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 29.05.2004
Skąd: Kraków

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


Kurde ja jestem chyba jakis oporny sad.gif
  1. <?php
  2. $PREV = &#092;"?nr_strony=\" . ($numer_strony - 1);
  3. $NEXT = &#092;"?nr_strony=\" . ($numer_strony + 1);
  4.  
  5.  
  6. $zapytanie = &#092;"SELECT COUNT( * ) FROM tapety WHERE {?}\";/* niewiem jakie tu dac warunki */
  7. $wynik = mysql_query ($zapytanie);
  8. echo &#092;"$wynik\"; /* nic mi sie nie wyswietla bez warunkow mi sie wyscietla resourece #id=5 czy cos
  9. takiego ale jak dam warunek np $id<9999 (tak sobie wykombinowalem :P) to nic */
  10.  
  11.  
  12. echo &#092;"<p align=center><a href=$PREV>Poprzednia</a> | <a href=$NEXT>Nastepna</p>\";
  13.  
  14. ?>
Jak przekladam strony to pokazuje sie to samo caly czas i w te i wewte sad.gif no i jeszcze jedeno pytanie jak sprawdzic czy jest poprzednia strona ? bo strona -1 to nie zabardzo
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Pewnie wystarczy:
  1. SELECT COUNT( * )
  2. FROM tapety

Warunki dodajesz tylko jesli je potrzebujesz, np chcesz wyswietlic tapety z ostatnbiego miesiaca.

Cytat
no i jeszcze jedeno pytanie jak sprawdzic czy jest poprzednia strona


pierwsza strona ma numer: 0
stron jest: ceil( $ilosc_rekordow / $ile )
czyli ostatnia strona ma numer: ceil( $ilosc_rekordow / $ile ) - 1

Przyklad:
Ilosc stron = 4;
1sza_strona = 0;
ostatnia_strona = 4 - 1 = 3

Czy istnieje poprzednia strona, gdy aktualna jest strona nr. 3? storna nr 2? nr 1? nr 0? nr 5? nr -3?
Kiedy istnieje poprzednia strona?

Tak samo z nastepna strona:
Kiedy istnieje nastepna strona?

Jak to ustalisz, wrzucasz do odpowiedniego IF-a i gotowe.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
a1EL
post
Post #9





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 29.05.2004
Skąd: Kraków

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


Edit:
  1. <?php
  2.  
  3. include('polaczenie2.php');
  4.  
  5. $result = mysql_query('SELECT * FROM tapety', $link);
  6. $num_rows = mysql_num_rows($result);
  7. $PREV = &#092;"?nr_strony=\" . ($numer_strony - 1);
  8. $NEXT = &#092;"?nr_strony=\" . ($numer_strony + 1);
  9. $ilosc_stron = ceil($num_rows/$ile);
  10.  
  11.  
  12. $ostatnia = $ilosc_stron-1;
  13. $pierwsza = 0;
  14. if($ostatnia >= 1) {
  15. echo &#092;"[1]\";
  16. }
  17. $n = 1;
  18. for ($i = 0; $i < $ilosc_stron; $i++) {
  19. $n++;
  20. if($ostatnia >= $n) {
  21. echo &#092;"[$n]\";
  22. }
  23. }
  24. ?>

To dziala i wyswietla stronki ale niewiem jak dac do nich odnosniki

Ten post edytował a1EL 17.06.2005, 22:46:33
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 Aktualny czas: 22.08.2025 - 04:22