views:

229

answers:

2

What is the best way to implement simple pagination? Here is the code im using to put the items from the database into a table:

$sql = "SELECT * FROM table WHERE id='id' ";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result))}
     echo($row['id']);
     echo($row['name']);
}

I just wanted to pageinate this so i would use $_GET['page'] (bla.php?page=1) to set the offset to 10, then (bla.php?page=2) to set it by 20?

Thanks in advanced :)

A: 

If you're using mysql, you can use the Limit clause. Example:

SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15

found here: http://dev.mysql.com/doc/refman/5.1/en/select.html

FrustratedWithFormsDesigner
+1  A: 

Simplest answer, add LIMIT to your SQL.

LIMIT 10,0 would show first 10 rows.

LIMIT 10,10 would show 10 rows, starting at row 10.

As a side note, when putting this in your queries you need to sanitize it. For user provided input that is supposed to be an integer, ensure it is by silently changing the the user input type.

$limit = $_GET['limit'];
settype($limit, 'integer');
Daren Schwenke
You can also cast as an int in one line:$limit = (int)$_GET['limit']
Alex JL