Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Stronicowanie
Forum PHP.pl > Forum > Przedszkole
rafal155
Witam mam tutaj prosty skrypt wyświetlający newsy z bazy danych, chciałbym aby na jednej stronie wyświetlało mi tylko 10 newsów, jak to zrobić? Tyle szukałem na google i forum i coś tam było ale jakoś nie wychodziło mi dostosowania tego do mojego kodu. Z góry dzięki.

Kod
<html>
<head>
<style>
.reg {
     font-family : Verdana, serif;
       font-size : 13px;
       font-weight : bold;
       background-color : #a9c8d8;
       }
.tab {
     font-family : Verdana, serif;
       font-size : 11px;
       font-weight : normal;
       background-color : #d4e6ef;
       }

</style>
</head>
<body>
<?php
mysql_connect('localhost', 'root' , 'krasnal');
mysql_select_db("logowanie");
$query = mysql_query("select * from newsy order by data desc limit 0,6");
while($rekord = mysql_fetch_array($query))
{
echo '
';
echo '<table class="tab" border="0" width="40%" align="center">';
echo '<tr>';
echo '<td colspan="2" class="reg"><center>'.$rekord[1].'</center></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2">'.$rekord[2].'</td>';
echo '</tr>';
echo '<tr>';
echo '<td>Dodał: '.$rekord[4].', Dnia: '.$rekord[3].'</td>';
echo '<td>Komentarzy [133]</td>';
echo '</tr>';
echo '</table>';
}
  
?>
qba10
Szukałeś na forum?

Oto skrypt stronicowania by nospor:
http://nospor.pl/news/category/pager/
rafal155
To też probowałem, ale jakoś także nie wychodziło.
ferrero2
Zastosuj zapytanie sql które pobiera newsy z bazy danych i ogranicz przez polecenie LIMIT...
A skrypt nospora działa bez zarzutów więc niewiem o co Ci chodzi.

Pozdrawiam
Maveral
Cytat(rafal155 @ 16.08.2008, 21:53:43 ) *
Witam mam tutaj prosty skrypt wyświetlający newsy z bazy danych, chciałbym aby na jednej stronie wyświetlało mi tylko 10 newsów, jak to zrobić? Tyle szukałem na google i forum i coś tam było ale jakoś nie wychodziło mi dostosowania tego do mojego kodu. Z góry dzięki.

Witam. Wczoraj zrobiłem taki właśnie skrypcik więc mam nadzieję, że komuś się w przyszłości przyda.

  1. //...Tutaj łaczymy się z bazą...
  2. <?php
  3. // Pobranie numeru strony wpisów.
  4. $wartosc = $_GET['limit1'];
  5.  
  6. // Sprawdzamy czy GET nie jest puste, a jeżeli jest ustawiamy zmienną limit na 0.
  7. if (!isset($wartosc)) {
  8. $limit1 = 0;
  9. } else {
  10. $limit1 = $wartosc;
  11. }
  12.  
  13. //Ilość wpisow na stronie.
  14. $limit2=10;
  15.  
  16. //Wyświetlamy wpisy o liczbie limit2 zaczynając od wpisu nr. limit1.
  17. $zapytanie = "SELECT * FROM `nasza_tablica` ORDER BY id desc LIMIT ". $limit1 .",". $limit2 ."";
  18. $idzapytania = mysql_query($zapytanie);
  19. echo '<table><tr><td><b>L.p.</b></td><td><b>Imię</b></td><td><b>Nazwisko</b></td><td><b>Wiek</b></td></tr>';
  20. while ($wiersz = mysql_fetch_row($idzapytania)) {
  21. echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td><td>'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td></tr>';
  22. }
  23. echo '</table>';
  24.  
  25. //Pobieramy całkowitą liczbę wpisów z tablicy, którą będziemy mieli dostepną pod zmienną rec['ile'].
  26. $rec=mysql_fetch_assoc(mysql_query('SELECT count(*) as ile FROM nasza_tablica'));
  27.  
  28. //Teraz paginacaja. Zmienna j będzie nam kolejno numerowała strony pod wpisami.
  29. for ($j=1; $j<$rec['ile']; $j++) {
  30.  
  31. //Jeżeli jest to pierwsza pętla (czyli j=1) wtedy ustawiamy limit1 na 0, aby zacząć zliczanie wpisów od pierwszego rekordu w bazie. Jeżeli tak nie jest porcjujemy wpisy co limit2 (w tym wypadku 10).
  32. if ($j == 1) {
  33. $limit1=0;
  34. }
  35. else {
  36. $limit1=$limit1+$limit2;
  37. }
  38.  
  39. //Zabezpieczenie - jeżeli liczba wpisów będzie wieksza niż całkowita rzeczywista liczba wpisów w bazie danych, to przerywamy pętlę. Jeżeli tak nie jest, to wyświetlamy linki do kolejnych stron.
  40. if ($limit1>$rec['ile']) {
  41. break;
  42. }
  43. else {
  44. echo '<a href="newsy.php?limit1='. $limit1 .'">'. $j .'</a>';
  45. echo ' - ';
  46. }
  47.  
  48. }
  49. ?>


Pozdrawiam smile.gif
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.