Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem ze stronicowaniem..
GryFF
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 3.10.2011

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


Problem polega na tym, że na stronie jest więcej newsów niż powinno być oraz po przejściu na strone np 3 newsy są te same

  1. <?PHP
  2. include('news.php');
  3. ?>
  4. <?php
  5. $count=3; //wyników na strone
  6. $offset=0; //obecnie wyświetlana strona
  7.  
  8. if(isset($_GET['count'])) //jeśli wybrano za pomocą GET ilość wyników
  9. {
  10. $count = $_GET['count'];
  11. }
  12. if(isset($_GET['offset'])) //jeśli wybrano kolejne strony z wynikami
  13. {
  14. $offset = $count*$_GET['offset'];
  15. }
  16.  
  17. // zapytanie zwracające ilosc rekordów z tabeli
  18. $sql = 'SELECT COUNT(*) FROM `newsy`';
  19. $result = mysql_query($sql);
  20. $r = mysql_fetch_array($result);
  21. //podział wyników na strony
  22. $pages = ceil($r[0]/$count);
  23. //wybranie wyników dla bieżących parametrów offset
  24. $select = 'SELECT * FROM `newsy` ORDER BY `id` desc LIMIT '.$count.' offset '.$offset.';';
  25.  
  26.  
  27. $q=mysql_query($select)or die(mysql_error());
  28. while($row=mysql_fetch_array($q))
  29. {
  30. //wyświetlanie rekordów z tabeli za pomocą zmiennej $row
  31. }
  32.  
  33.  
  34. echo "<b>kolejne strony</b>";
  35.  
  36. for($i=0;$i<$pages;$i++) //wyswietlanie numerów stron
  37. {
  38. if($i*$count==$offset)
  39. {
  40. echo ' '.$i.' ';
  41. }else{
  42. echo '<a href="index1.php?count='.$count.'&offset='.$i.'"> '.$i.' </a>'; //tworzenie odnośnika z odpowiednimi parametrami offset i count
  43. }
  44. }
  45. ?>



o to kod, co robię źle ? :/ męcze się od 3 godziny..




ps wszystko znajdziecie na www.ospnadolany.cba.pl

Ten post edytował GryFF 14.04.2012, 13:54:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bateria
post
Post #2





Grupa: Zarejestrowani
Postów: 129
Pomógł: 13
Dołączył: 23.11.2011

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


zresztą mniejsza oto.
  1. <?php
  2. $query_nr = mysql_query("SELECT COUNT(*) FROM newsy");
  3.  
  4. $wynikow = 5;
  5. $nastr = mysql_fetch_array($query_nr);
  6. $stron = ceil($nastr[0]/$wynikow);
  7. if(isset($_GET['page'])){
  8. $page = $_GET['page'];
  9. $odkad = $page * $wynikow - 5;
  10. } else {
  11. $page = 1;
  12. $odkad = 0;
  13. }
  14.  
  15. $poprzenia = $page -1;
  16. $nastepna = $page +1;
  17.  
  18. $query = mysql_query("SELECT * FROM newsy LIMIT $odkad, $wynikow");
  19.  
  20. while($row=mysql_fetch_array($query))
  21. {
  22. //wyświetlanie rekordów z tabeli za pomocą zmiennej $row
  23. }
  24.  
  25. echo('<br>');
  26. echo('<<');
  27. if($page != 1){
  28. echo('<a href="?page='.$poprzenia.'">Poprzenia</a>');
  29. }
  30. for($str=1; $str<=$stron; $str++){
  31. echo(' <a href="?page='.$str.'">'.$str.'</a> ');
  32. }
  33. if($page != $stron){
  34. echo('<a href="?page='.$nastepna.'">Następna</a>');
  35. }
  36. echo('>>');
  37. ?>

U mnie ten kod w pełni działa, więc musi działać i u Ciebie.

Ten post edytował Bateria 14.04.2012, 15:11:38
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: 13.10.2025 - 11:00