Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]stronicowanie wyników
Forum PHP.pl > Forum > Przedszkole
john_doe
Witam,
napisałem prosty skrypt, który stronicuje zwracane wyniki. Teraz sobie testuje i przy ustawieniu 3ech wyników na stronie, mając 6 rekordów do wyświetlenia skrypt wyświetla 3 strony. Powinien dwie. Ta trzecia jest pusta. Jak to zmodyfikować? Czyli będzie się tak działo gdy liczba wierszy będzie równo podzielna przez 3.

  1. <?php
  2. define('ILOSC_WYNIKOW_NA_STRONIE', 3);
  3.  
  4.            if ( countResults( $result ) > 0 )
  5.            {
  6.        
  7.                $resultPager = connect( $SELECT_FOUND_ROWS );
  8.                
  9.                $returnedRecords   = mysql_result( $resultPager, 0 );
  10.                
  11.                if( $_GET['page'] > 0 )
  12.                {
  13.                //print previous page link
  14.                    print '<a href="?page='.( $_GET['page'] - 1 ).'&id='.$_GET['id'].'">Poprzednie</a> ';
  15.                }                        
  16.  
  17.                for( $i = 0 ; $i <= floor( $returnedRecords / ILOSC_WYNIKOW_NA_STRONIE ) ; $i++ )
  18.                {
  19.                    if( $i == $_GET['page'] )
  20.                    {
  21.                        print '<a href="?page='.( $i ).'&id='.$_GET['id'].'"><b>[ '.( $i + 1 ).' ]</b></a> ';    
  22.                    }else print '<a href="?page='.( $i ).'&id='.$_GET['id'].'">[ '.( $i + 1 ).' ]</a> ';    
  23.                }
  24.                //if we aren`t on the last page
  25.                if( $_GET['page'] < floor( $returnedRecords / ILOSC_WYNIKOW_NA_STRONIE ) )
  26.                {
  27.                //print next page link
  28.                    print '<a href="?page='.( $_GET['page'] + 1 ).'&id='.$_GET['id'].'">Następne</a>';
  29.                }
  30.            }
  31. ?>
kaem
Nie jestem pewien, ale widze że w kodzie liczysz strony od zera więc może zamień warunek w for na:
  1. <?php
  2. for( $i = 0 ; $i < floor( $returnedRecords / ILOSC_WYNIKOW_NA_STRONIE ) ; $i++ )
  3. ?>
adrian.p
Kod
for( $i = 0; $i <= floor( $returnedRecords / ILOSC_WYNIKOW_NA_STRONIE )-1; $i++ )

?
john_doe
dałem tak jak kaem podpowiedział, jednak teraz mam mały problem z "Następny"
adrian.p
Cytat(john_doe @ 31.07.2009, 10:11:22 ) *
dałem tak jak kaem podpowiedział, jednak teraz mam mały problem z "Następny"


Tzn jaki problem? Co sie dzieje?

EDIT:
// mam

Kod
if( $_GET['page']+1 < floor( $returnedRecords / ILOSC_WYNIKOW_NA_STRONIE ) )
john_doe
jak narazie mam teraz tak i chodzi niby OK z jednym ale
  1. <?php
  2. if ( countResults( $result ) > 0 )
  3.            {
  4.        
  5.                $resultPager = connect( $SELECT_FOUND_ROWS );
  6.                
  7.                $returnedRecords   = mysql_result( $resultPager, 0 );
  8.                
  9.                if( $_GET['page'] > 0 )
  10.                {
  11.                //print previous page link
  12.                    print '<a href="?page='.( $_GET['page'] - 1 ).'&id='.$_GET['id'].'">Poprzednie</a> ';
  13.                }                        
  14.  
  15.                for( $i = 0 ; $i < ceil( $returnedRecords / ILOSC_WYNIKOW_NA_STRONIE ) ; $i++ )
  16.                {
  17.                    if( $i == $_GET['page'] )
  18.                    {
  19.                        print '<a href="?page='.( $i ).'&id='.$_GET['id'].'"><b>[ '.( $i + 1 ).' ]</b></a> ';    
  20.                    }else print '<a href="?page='.( $i ).'&id='.$_GET['id'].'">[ '.( $i + 1 ).' ]</a> ';    
  21.                }
  22.                //if we aren`t on the last page
  23.                if( $_GET['page'] < floor( ( $returnedRecords / ILOSC_WYNIKOW_NA_STRONIE ) ) )
  24.                {
  25.                //print next page link
  26.                    print '<a href="?page='.( $_GET['page'] + 1 ).'&id='.$_GET['id'].'">Następne</a>';
  27.                }
  28.            }
  29. ?>


mam sześć rekordów do wyświetlenia i ustawiam ilosc wyników na stronie 6
wyświetla 1 podstrone ale wyświetla też link NASTĘPNY a nie powinien
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.