Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php + mysql]moj system news problem
Forum PHP.pl > Forum > Przedszkole
milek45
Witam, piszę sobie taki system newsów i mam mały, duży problem. A mainowicie taki, że jeżeli mam 2 tyś. newsów to on te newsy pokaże mi na jednej stronie.... Więc chciałbym ograniczyć je np. do 30 na stronę i na dole strony dodać 1 strona, 2 strona itd.


  1. <?php
  2. $sql="Select * from `news` order by `id` DESC";
  3. $zapytanie=mysql_query($sql);
  4. while($row=mysql_fetch_array($zapytanie)){
  5. $tresc=substr($row['tekst'],0,400);
  6.  
  7. echo'<table border="0" width="100%" cellspacing="0" cellpadding="0">
  8. <tr>
  9. <td width="100%" colspan="3" height="19"><a href="telewizor'.$row['id'].'.html"><b>'.$row['tytul'].'</b></a></td>
  10. </tr>
  11. <tr>
  12. <td width="100%" colspan="3" height="27"><font size="1" face="Verdana">'.nl2br($tresc); if(strlen($row['tekst'])>=400){echo'...<br/><br/><div align="right"><a href="telewizor'.$row['id'].'.html">Więcej</a></font></div><br/>';}echo'</td>
  13. </tr>
  14. <tr>
  15. <td width="32%" height="19"><font size="1" face="Verdana">Autor: <b>'.$row['autor'].'</b></font></td>
  16. <td width="38%" height="19">
  17. <p align="center"><font size="1" face="Verdana">Data: '.$row['data'].'</font></td>
  18. </tr>
  19. </table><br/><br/>';
  20.  
  21. }
  22. ?>

I ono wyśiwetla mi tyle newsów ile mam. I teraz jak zrobić zeby pokazywało np. 30 newsów najnowszych, a poniżej ostatniego newsa pokazało odnośniki do koljenych stron z starszymi newsami?

So sorry
nospor
szukaj na forum pod haslem stronicowanie. Tyle bylo tego na forum ze az wstyd ze ten topic zalozyles tongue.gif

ps: u mnie w podpisie masz klase do stronicowania
milek45
Wszystko pięknie ładnie, tylko jest jeden problem... Siedzę już przy tym 3 godziny i nie mogę tego wogóle dostosować..

withstupidsmiley.gif

Mógłby mi ktoś jakoś przyswoić podać wskazówkę
blink.gif
nospor
ale co tu dostosowywac?
Masz podany jeden z przykladow:
  1. <?php
  2. require_once('Pager.class.php');
  3. $sql = 'select count(*) from TABLE';
  4. $result = mysql_query($sql);
  5. $row = mysql_fetch_array($result);
  6. $recordsCount = $row[0];//pobranie liczby rekordów
  7. $pager = new Pager('idPagera');
  8. $pager->SetTotalRecords($recordsCount);
  9. $pager->Make(true);
  10. $pag = $pager->Render();
  11. $start = $pager->GetIndexRecordStart();
  12. $end = $pager->GetIndexRecordEnd();
  13.  
  14. //zapytanie z uwzglenieniem stronicowania
  15. $sql = 'select * from TABLE limit '.$start.','.($end - $start + 1);
  16. //...pobranie wyników i ich wyswietlenie
  17.  
  18. echo $pag;//wyswietlenie pager'a
  19. ?>

No i nic nie masz robic tylko wstawic swoje dane:
  1. <?php
  2. require_once('Pager.class.php');
  3. $sql = 'select count(*) from news';
  4. $result = mysql_query($sql);
  5. $row = mysql_fetch_array($result);
  6. $recordsCount = $row[0];//pobranie liczby rekordów
  7. $pager = new Pager('idPagera');
  8. $pager->SetTotalRecords($recordsCount);
  9. $pager->Make(true);
  10. $pag = $pager->Render();
  11. $start = $pager->GetIndexRecordStart();
  12. $end = $pager->GetIndexRecordEnd();
  13.  
  14. //zapytanie z uwzglenieniem stronicowania
  15. $sql = 'select * from news limit '.$start.','.($end - $start + 1);
  16. $zapytanie=mysql_query($sql);
  17. while($row=mysql_fetch_array($zapytanie)){
  18. $tresc=substr($row['tekst'],0,400);
  19.  
  20. echo'<table border="0" width="100%" cellspacing="0" cellpadding="0">
  21. <tr>
  22. <td width="100%" colspan="3" height="19"><a href="telewizor'.$row['id'].'.html"><b>'.$row['tytul'].'</b></a></td>
  23. </tr>
  24. <tr>
  25. <td width="100%" colspan="3" height="27"><font size="1" face="Verdana">'.nl2br($tresc); if(strlen($row['tekst'])>=400){echo'...<br/><br/><div align="right"><a href="telewizor'.$row['id'].'.html">Więcej</a></font></div><br/>';}echo'</td>
  26. </tr>
  27. <tr>
  28. <td width="32%" height="19"><font size="1" face="Verdana">Autor: <b>'.$row['autor'].'</b></font></td>
  29. <td width="38%" height="19">
  30. <p align="center"><font size="1" face="Verdana">Data: '.$row['data'].'</font></td>
  31. </tr>
  32. </table><br/><br/>';
  33.  
  34. }
  35. echo $pag;//wyswietlenie pager'a
  36. ?>

W czym problem?
milek45
Po zmianie tej linijki
Kod
$pager = new Pager('idPagera');

na
Kod
$pager = new Pager('idPagera', 'strona/#PAGE#')

oraz na wrzuceniu w htaccess
Kod
RewriteRule ^strona/([^-]+)$ index.php?ppidPagera=$1 [L]


Gdy wchodzę w np. www.przylkad.pl/strona/2 dostaję linki w newsach www.przylkad.pl/strona/dudek.html a powinno być www.przylkad.pl/dudek.html .

Przypuszczam, że jest to wina htaccess, ale nie wiem jak go inaczej skonfigurować..
nospor
Pager jak slusznie zauwazyles nie ma tu nic do tego.

A jak ty te linki w newsach generujesz? mozesz pokazac to co masz w href="..." ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.