我已经在我的网站中实现了分页,效果很好。当我尝试在我的网站中添加“按价格排序”部分代码时出现问题..它在分页的第1页上排序很好,但是当我点击第2页时,它似乎重置了所有产品
我有以下代码按价格排序:
$orderby='';
if ( !empty($_GET['Sort']) && $_GET['Sort'] == 'PriceAsc' )
{
$orderby=" ORDER BY Cost ASC";
}
if ( !empty($_GET['Sort']) && $_GET['Sort'] == 'PriceDesc' )
{
$orderby=" ORDER BY Cost DESC";
}
然后在页面的下方我有我的分页设置代码,并且在我在变量$ orderby中添加的代码的查询部分中看起来像这样:
$sql2 = mysql_query("SELECT * FROM laptops $orderby $limit");
然后最后我在底部循环时获取了fetch数组,以使用以下方式回显数据:
while ($row = mysql_fetch_array($sql2))
任何人都可以帮助我/建议我如何修复我的代码,以便在我按下我的分页的第2,3页等时排序。
由于
答案 0 :(得分:2)
第2页是否仍设置了get变量'sort'?即第2页(来自第1页)的链接是否包含此变量。
例如page.php?page = 2& sort = PriceDesc
答案 1 :(得分:0)
$ _ GET如果设置它会得到一个值。如果你想看到像page.php?page = 2这样没有任何变量定义的URL,你必须使用$ _POST。 请注意,您必须使用html格式将变量发布到page.php:
<form method="post" action="page.php">
<input type="hidden" name="sort" value="{$_POST['sort'] ? $_POST['sort'] : ''}" />
<input type="submit" name="p" value="2" />
</form>