ugrás a tartalomhoz

mySQL adatok listazasa tobb oldalon

Anonymous · 2006. Aug. 4. (P), 21.46
Van egy mysql tabla.
A tabla regisztralt felhasznalokat tartalmaz. Jelenleg 15 regisztralt felhasznalo van a tablaban.

Ezeket az adatokat megjelenitem egy lapon egy ciklust hasznalva.
Szeretnem ha a lapon csak 5 felhasznalo lenne kilistazva, a masik lapon megint 5 es a harmadik lapon ujbol 5.

Valami olyasmit szeretnek mint a Google kereso, amikor sok oldalt talal a lapok legyenek felosztva.

Talaltam egy doksit, elolvastam es megcsinaltam amit ir:

http://www.webpronews.com/expertarticles/expertarticles/wpn-62-20060620PHPPaginationwithMySQL.html

Mukodik a dolog, csak egy problema van.

Peldaul az elso lap szama "1" akkor is megjelenik ha kisebb vagy egyenlo a felhasznalok szama mint 5.

Szeretnem ha csak akkor jelenne meg az oldal szamok ha tobb mint 5 felhasznalo van hozzaadva az adatbazishoz. Tegyuk fel, hogy a 15 felhasznalobol kitorlok 10-et.

Ha valaki bele tudna nezni a kodba amit a fenti linken van es van otlete kerem segitsen.

Adok egy egyszerubb peldat ha nem ertitek amit leirtam :
A kov lapon van 3 sor: http://www.phplabs.com/articles/products.php

Nem szeretnem azt kilistazni, hogy 1 2 3 4 csak akkor ha tobb mint 5 sor van.

Koszonom !
 
1

egy megoldás

kisstoth · 2006. Aug. 4. (P), 23.42
  1. <?php  
  2. $pages=5; // max oldalak  
  3.   
  4. if(isset($_GET["Oldal"])) {  
  5.   $page=$_GET["Oldal"];    
  6.   if($page<0) {  
  7.     $page=0;  
  8.   }  
  9.   if(!is_numeric($page)) {  
  10.     $page=0;  
  11.   }  
  12. }  
  13. else {  
  14.   $page=0;  
  15. }  
  16.   
  17. $page=$pages*$page;  
  18.   
  19. $num_rows=mysql_query("SELECT * FROM tablam");  
  20. $num_pages=mysql_num_rows($num_rows);  
  21.   
  22. if($page>$num_pages) {  
  23.   $page="0";  
  24. }  
  25.   
  26. $res=mysql_query("SELECT * FROM tablam LIMIT $page, $pages");  
  27.   
  28. while($row=mysql_fetch_object($res)) {  
  29.   
  30.   // kód  
  31.   
  32. }  
  33.   
  34. $news_page=@mysql_query("SELECT COUNT(*) AS QN FROM tablam");  
  35. $rows=@mysql_fetch_array($news_page);  
  36. $rows_num=$rows["QN"];  
  37.   
  38. if($rows_num>$pages) {  
  39.   
  40.   $page_num=1;  
  41.   
  42.   for ($runner=0; $runner<$rows_num$runner+=$pages) {  
  43.     $next=$page_num-1;  
  44.     if($runner<>$page) {  
  45.       echo "<a href=\"?Oldal=$next\">$page_num. oldal</a> \n";  
  46.     }  
  47.     else {  
  48.       echo "$page_num. oldal ";  
  49.     }  
  50.     $page_num++;  
  51.   }  
  52. }  
  53. ?>