Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Stronicowanie tabeli
Forum PHP.pl > Forum > PHP
bok
Witam
Mam trzy pytania dotyczące poniższego skryptu:
1. Co trzeba zrobić aby ten skrypt wyświetlał nie 1 2 3… tylko << < 1 2 3…
2. Jak w tabeli tej kliknę na napis „nazwa” lub „kliknięć” to skrypt posortuje mi od najmniejszej do największej liczby albo od A do Z a jak zrobić aby po ponownym kliknięciu sortował odwrotnie (od największej do najmniejszej i od Z do A).
3. Jak można do tego skryptu wbudować wyszukiwarkę.

  1. <?php
  2.  
  3. if($s=="1") { $soruj="nazwa"; $s="1"; }
  4. elseif($s=="2") { $soruj="klikniec"; $s="2"; }
  5. else { $soruj="nazwa"; $s="1"; }
  6.  
  7.  
  8. define('RECORDS_PER_PAGE', 10); 
  9.  
  10. $mysql_link = mysql_connect('localhost', 'root', ''); 
  11. mysql_select_db('test', $mysql_link); 
  12.  
  13. $cnt = mysql_result(mysql_query('SELECT COUNT(*) FROM tabela', $mysql_link), 0, 0); 
  14.  
  15. $page = (int)@$_GET['page']; 
  16. if ($page * RECORDS_PER_PAGE > $cnt) 
  17. $page = 0; 
  18.  
  19. echo '<table cellspacing="0" border="1" bordercolor="#000000" cellpadding="0" style="border-collapse: collapse" width="496"><tbody><tr>
  20. <th width="371"><a href="?page='.$page.'&s=1" style="text-decoration: none">
  21. <font color="#000000">Nazwa:</font></a></th><th>'; 
  22. echo '<a href="?page='.$page.'&s=2" style="text-decoration: none"><font color="#000000">Kliknięć:</font></a></th></tr>'; 
  23. $mysql_result = mysql_query('SELECT * FROM tabela ORDER BY '.$soruj.' LIMIT '.($page*RECORDS_PER_PAGE).','.RECORDS_PER_PAGE, $mysql_link); 
  24. while ($row = mysql_fetch_row($mysql_result)) { 
  25. echo '<tr><td width="371">
  26. <a href="'.$row[1].'" style="text-decoration: none">
  27. <font color="#000000">'.$row[0].'</font></a></td><td>
  28. <p align="center">'.$row[2].'</td></tr>'; 
  29. } 
  30. echo '</tbody></table><br /><br />'; 
  31.  
  32. for ($nr = 0, $cnt = ceil($cnt / RECORDS_PER_PAGE); 
  33. $nr < $cnt; $nr++) { 
  34. echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$nr.'&s='.$s;
  35. echo '">'.sprintf('%02d', $nr+1).'</a> '; 
  36. }  
  37. ?>


Dzięki z góry
hwao
http://phpedia.pl/wiki/Stronicowanie
kustosz
miałem podobny problem
jak pager jest klasą w polu składowym trzymałem sortowania, jak nie to w sesji

jak przychodzi zmienna z indexem kolumny, sprawdzam czy sortowanie dotyczy tej kolumy, potem czy jest 'desc', jest - usuwam desc, nie dokładam i aktualizuję zmienną sortowania i sql-a

ps. proponuję zapoznać się z szablonami, żeby np. w razie zmiany layout-u nie pisać pagera od nowa, adodb ma też jakieś rozwiązania

pozdro
hwao
Widze ze strukture masz prosta, mozesz zastosowac:

http://hwao.be/blog/2006/04/09/datagrid-for-php5/

i zyskasz dodatkowo duzo wiecej mozliwosci winksmiley.jpg
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.