我一直在努力让这些代码在我的网站上运行。 我希望用户能够通过单击href链接按升序或降序对帖子进行排序。 当用户然后选择通过另一个选项对帖子列表进行排序时,应该记住该选项,例如标题,投票,日期。
以下是我的目标:
<?php $sort= $_GET['sort'];
if($sort == "A")
{
$order= "gdsr_sort=thumbs";
}
if($sort == "B")
{
$order= "orderby=title";
}
if($sort == "C")
{
$order= "orderby=date";
}
?>
<?php $updown= $_GET['updown'];
if($updown == "Y")
{$ascend= "ASC";} //this orders in ascending
if($updown == "Z")
{$ascend= "DESC";} //this orders in descending
?>
<a href="?sort=A&updown=<?php echo $updown?>">Thumbs</a>
<a href="?sort=B&updown=<?php echo $updown?>">Author</a>
<a href="?sort=C&updown=<?php echo $updown?>">Date</a>
<?php $sort= isset($_GET['sort']) ? $_GET['sort'] : "B";
?>
<a href="?updown=Y&sort=<?php echo $sort?>">Ascending</a>
<a href="?updown=Z&sort=<?php echo $sort?>">Descending</a>
<?php query_posts($order.'&order=$.ascend.'); ?>
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
用于排序的href工作得很好,但是ASC / DESC没有做任何事情,整个事情只是保持DESC。
答案 0 :(得分:0)
我可以建议2个更好的解决方案,而不是使用令人困惑的字母:
1021021210
)确定哪些字段未排序(0),ASC(1)或DESC(2)。$_GET
超全局,并创建example.com/index.php?fielda=asc&fieldb=desc
等网址。
然后解析它以查看用户想要排序的内容。溶液2是优选的。
答案 1 :(得分:0)
太复杂了。只需将用户ASC / DESC首选项存储在Cookie中(通过JS,如果您更喜欢快速和简单的解决方案),请在排序时使用Cookie值设置顺序。