PDA

View Full Version : pagination - yay or nay? [+5repzzzzz]



Blinger$
19-06-2010, 09:30 PM
Just a quick question.. is this a good way to do pagination or not?


$limit = 1;
if($_GET['page']){
$pageNumberStart = cleanTag($_GET['page']);

$getMembersQuery = mysql_query("SELECT id, username, avatar FROM users LIMIT $pageNumberStart , $limit");
echo("Members list, page $pageNumberStart<br>");

while($membersRows = mysql_fetch_array($getMembersQuery)){
$id = $membersRows['id'];
$username = $membersRows['username'];
$avatar = $membersRows['avatar'];

echo("<a href='?p=members&id=$id'>$username</a><br /> <img src='$avatar />");
}
} else {
$getMembersQuery = mysql_query("SELECT id, username, avatar FROM users LIMIT 0 , $limit");
$membersNumRows = mysql_num_rows($getMembersQuery);
echo("Displaying members 1 - $membersNumRows<br>");

while($membersRows = mysql_fetch_array($getMembersQuery)){
$id = $membersRows['id'];
$username = $membersRows['username'];
$avatar = $membersRows['avatar'];

echo("<a href='?p=members&id=$id'>$username</a><br /> <img src='$avatar />");
}

it looks quite messy on here, but i don't think its that bad!
I really only want to know if how i am doing it is correct or should i just follow a tutorial like this (http://biorust.com/index.php?page=tutorial_detail&tutid=103)? (i coded this myself from the top of my head, so...)

I know the limit is only 1, thats because i have 2 entries in my testing database ;)

BoyBetterKnow
20-06-2010, 02:00 PM
Tbh I coded a forum similar to how you have done it back in my early days and I don't see a problem with it if it works. It's not going to run super slow by the looks of it. Just optimize it where possible.

Apolva
20-06-2010, 03:54 PM
Here's a simplified version of your code:



$limit = 1;
if($_GET['page']){
$pageNumberStart = cleanTag($_GET['page']);
$query = mysql_query("SELECT id, username, avatar FROM users LIMIT $pageNumberStart , $limit;");
echo "Members list, page $pageNumberStart<br>";
} else {
$query = mysql_query("SELECT id, username, avatar FROM users LIMIT 0 , $limit;");
echo "Displaying members 1 - ".mysql_num_rows($query)."<br>";
}

while($row = mysql_fetch_array($query)){
echo "<a href='?p=members&id={$row['id']}'>{$row['username']}</a><br /><img src='{$row['avatar']}' />";
}


I assume your cleanTag() function also performs mysql_real_escape_string() on the string?

lolwut
02-07-2010, 05:22 PM
There's a really good tutorial in the Tutorials sub-forum about SQL-supported pagination, I hope you can understand this: http://www.habboxforum.com/showthread.php?t=536277

Want to hide these adverts? Register an account for free!