Question

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?

Was it helpful?

Solution

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');

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top