Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Stronicowanie tablic
-do-
post 3.09.2008, 13:11:03
Post #1





Goście







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?
Go to the top of the page
+Quote Post
wookieb
post 3.09.2008, 14:17:36
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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?


--------------------
Go to the top of the page
+Quote Post
-do-
post 3.09.2008, 14:59:40
Post #3





Goście







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 :/
Go to the top of the page
+Quote Post
Pilsener
post 4.09.2008, 08:03:04
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:46