Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Stronicowanie tablic
Forum PHP.pl > Forum > Przedszkole
do
Witam z powodu braku możliwości zastosowania paginacji takiej jak w mysql, napisałem prosty skrypt, który ma za zadanie paginację wyników z tablicy.

  1. <?php
  2. $err = array (
  3. array ( "wartos2520", "wartosc_24", "wartosc2652" ),
  4. array ( "wartosc2520", "wartosc223", "wartosc262" ),
  5. array ( "wartosc_250", "wartos3", "wartosc26112" ),
  6. array ( "wartosc222", "wartosc_2", "wartosc452" ),
  7. array ( "wartosc22", "wartosc451", "wartosc25" )
  8. );
  9.  
  10.  
  11. if(isset($err) && is_array($err))
  12. {
  13. echo '<p><b>Newsy</b></p>';
  14. while (list($key,$value) = each($err))
  15. {
  16. if($key>=&& $key<=3) {
  17. echo ''.$key.''.$value[0].' '.$value[1].' '.$value[2].'<br/>';
  18. }
  19. }
  20. }
  21. ?>


Czy taka metoda jest dozwolona i czy skrypt jest poprawny?
wookieb
Kod
while (list($key,$value) = each($err))

mozna zamienic na
Kod
foreach($err as $key=>$value)
{
kod
}

Bardziej wyraziste i bodajże szybsze nawet.

Może być zastosowana taka paginacja czemu nie.
ale widze ze pokaze tylko 4 pierwsze strony
Kod
if($key>=0 && $key<=3) {

A co z reszta?
do
Właśnie w ten sposób chcę stworzyć paginację wyników, z tym że to nie jest już dla takie proste.

Próbuje zrobić teraz stronicowanie, ale nic z tego nie wynika:
  1. <?php
  2. $ile = 5;
  3. $sql = "SELECT * FROM news ORDER BY id DESC";
  4. $result = odbc_exec($conn, $sql);
  5. $numrows = news_count($conn,$sql);
  6.  
  7. if(!$_GET['p']) $p = 0;
  8.  
  9. $p = (int)$_GET['p']; 
  10. $ile = (int)$ile; 
  11.  
  12. while ($row = odbc_fetch_array($result)) {
  13. $err[] = $row;
  14. }
  15.  
  16.  
  17. if(isset($err) && is_array($err))
  18. {
  19. while (list($key,$value) = each($err))
  20. {
  21. if($key>=$ile && $key<=$p) {
  22. $value['data'];
  23. }
  24. }
  25. }
  26.  
  27.  
  28.  
  29. echo "strona: ";
  30. for($i=0;$i<ceil($numrows/$ile);$i++) {
  31. echo '<a href="'.$PHP_SELF.'?p='.($i*$ile).'&ile='$ile'=">'.($i+1).'</a> ';
  32. }
  33. ?>


Nie wiem w jaki sposób to połączyć żeby dobrze chodziło :/
Pilsener
Kiedyś na tym forum ktoś dał bardzo ładną funkcję (przepraszam, ale zapomniałem nick'u):
http://webdesk.wordpress.com/2008/03/07/my...sc-bazy-danych/ - tu masz tą funkcję razem z opisem.
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.