From b5de4289d141b4ea35e92435c2ddc658c351da47 Mon Sep 17 00:00:00 2001 From: Ryan Walberg Date: Mon, 12 Nov 2012 05:17:05 +0000 Subject: [PATCH] pagination, fixed vertical offset --- src/index.php | 25 ++++++++++++++++--------- src/templates/home.tpl | 24 ++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/index.php b/src/index.php index 4f72a01..74277aa 100644 --- a/src/index.php +++ b/src/index.php @@ -31,15 +31,15 @@ if (!empty($_GET["message"])) { } /* if we've got `page' on the query string, set the session page indicator. */ -if (!empty($_GET["page"])) { - $_SESSION["page"] = $_GET["page"]; - $page = $_GET["page"]; +if (isset($_GET["offset"])) { + $_SESSION["offset"] = $_GET["offset"]; + $offset = $_GET["offset"]; } -else if (isset($_SESSION["page"])) { - $page = $_SESSION["page"]; +else if (isset($_SESSION["offset"])) { + $offset = $_SESSION["offset"]; } else { - $page = 1; + $offset = 0; } if (!empty($_GET["action"])) { @@ -99,8 +99,13 @@ else { } $query = "SELECT itemid, description, c.category, price, url, rendered, comment, image_filename FROM {$OPT["table_prefix"]}items i LEFT OUTER JOIN {$OPT["table_prefix"]}categories c ON c.categoryid = i.category LEFT OUTER JOIN {$OPT["table_prefix"]}ranks r ON r.ranking = i.ranking WHERE userid = " . $userid . " ORDER BY $sortby"; $rs = mysql_query($query) or die("Could not query: " . mysql_error()); +$myitems_count = mysql_num_rows($rs); $myitems = array(); -while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) { +for ($i = 0; $i < $offset; $i++) { + $row = mysql_fetch_array($rs, MYSQL_ASSOC); +} +$i = 0; +while ($i++ < $OPT["items_per_page"] && $row = mysql_fetch_array($rs, MYSQL_ASSOC)) { $row['price'] = formatPrice($row['price']); $myitems[] = $row; } @@ -222,7 +227,7 @@ if ($OPT["shop_requires_approval"]) { while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) { $pending[] = $row; } - mysql_free_result($pending); + mysql_free_result($rs); } if (($_SESSION["admin"] == 1) && $OPT["newuser_requires_approval"]) { @@ -236,7 +241,7 @@ if (($_SESSION["admin"] == 1) && $OPT["newuser_requires_approval"]) { while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) { $approval[] = $row; } - mysql_free_result($approval); + mysql_free_result($rs); } define('SMARTY_DIR',str_replace("\\","/",getcwd()).'/includes/Smarty-3.1.12/libs/'); @@ -247,6 +252,8 @@ if (isset($message)) { $smarty->assign('message', $message); } $smarty->assign('myitems', $myitems); +$smarty->assign('myitems_count', $myitems_count); +$smarty->assign('offset', $offset); $smarty->assign('shoppees', $shoppees); $smarty->assign('prospects', $prospects); $smarty->assign('messages', $messages); diff --git a/src/templates/home.tpl b/src/templates/home.tpl index 37df3da..408345c 100644 --- a/src/templates/home.tpl +++ b/src/templates/home.tpl @@ -30,10 +30,15 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA } - +