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

<?php
$pages=5; // max oldalak

if(isset($_GET["Oldal"])) {
  $page=$_GET["Oldal"];  
  if($page<0) {
    $page=0;
  }
  if(!is_numeric($page)) {
    $page=0;
  }
}
else {
  $page=0;
}

$page=$pages*$page;

$num_rows=mysql_query("SELECT * FROM tablam");
$num_pages=mysql_num_rows($num_rows);

if($page>$num_pages) {
  $page="0";
}

$res=mysql_query("SELECT * FROM tablam LIMIT $page, $pages");

while($row=mysql_fetch_object($res)) {

  // kód

}

$news_page=@mysql_query("SELECT COUNT(*) AS QN FROM tablam");
$rows=@mysql_fetch_array($news_page);
$rows_num=$rows["QN"];

if($rows_num>$pages) {

  $page_num=1;

  for ($runner=0; $runner<$rows_num; $runner+=$pages) {
    $next=$page_num-1;
    if($runner<>$page) {
      echo "<a href=\"?Oldal=$next\">$page_num. oldal</a> \n";
    }
    else {
      echo "$page_num. oldal ";
    }
    $page_num++;
  }
}
?>