php命令'最近''最喜欢''最不喜欢'

时间:2011-07-12 09:12:38

标签: php

我有一个邮政系统

    <?php
/**
Display the results from the database
**/
$q = ("SELECT * FROM threads ORDER BY posted");
$r = mysql_query($q);

if(mysql_num_rows($r)>0): //table is non-empty
    while($row = mysql_fetch_assoc($r)):
        $net_vote = $row['votes_up'] - $row['votes_down']; //this is the net result of voting up and voting down
?>
<div class='entry'>
    <span class='link'>
        <?php echo $row['author']; ?>&nbsp;&nbsp;&nbsp;
        <?php $row['posted'] = date("jS M Y h:i",$row['posted']); echo $row['posted']; ?>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="<?php echo $row['message']; ?>">
        Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
        <br/> 
        <div class='message'><?php echo $row['message']; ?><br/></div> 
            <?php echo "<a href='msg.php?id=$row[id]'/> Comments/Add comments $row[replies]</a>" ?> &nbsp;
        <?php echo "Likes: " . $row['votes_up'] . "&nbsp "; echo "Dislikes: " . $row['votes_down'] . "&nbsp"; ?>    
    </span>

    <span class='votes_count' id='votes_count<?php echo $row['id']; ?>'></span> 
    <span class='vote_buttons' id='vote_buttons<?php echo $row['id']; ?>'>
        <a href='javascript:;' class='vote_up' id='<?php echo $row['id']; ?>'></a>
        <a href='javascript:;' class='vote_down' id='<?php echo $row['id']; ?>'></a>

    <br/>
    </span>

</div>

<br/>
<?php
    endwhile;
endif;
?>

我想添加一些文字,说'按以下顺序排序:最近|最喜欢|最不喜欢的 正如你所看到的,我认为我已经通过defualt最近发布了这是我想要的。

但我想要的也是当你点击'最喜欢'和&amp; “最不喜欢”它通过'Vote_up'(喜欢)&amp; 'vote_down'(不喜欢)全部在同一页面上,并显示最喜欢的帖子(最喜欢)和最不喜欢(最不喜欢)

编辑* * *
抱歉,我的问题是如何添加2个功能,当点击排序时,“最喜欢”和“最不喜欢”

2 个答案:

答案 0 :(得分:0)

in html:

<a href='script.php?order=recent'>Recent</a>
<a href='script.php?order=liked'>Liked</a>
...

在php中:

if ($_GET['order'] == 'recent') $order = "posted";
elseif ($_GET['order'] == 'liked') $order = "smth";
...
$q = "SELECT * FROM threads ORDER BY ".$order."";

但实际上最好使用一些js框架(我更喜欢extjs)来对客户端的输出进行排序

答案 1 :(得分:0)

AFAIK你几乎没有选择如何做到这一点:

  1. 让链接通过URL传递$ _GET值(导致页面刷新!!),然后在PHP中测试并运行必要的SQL以获取新的记录顺序。

  2. 使用AJAX异步执行相同的请求,使用PHP脚本处理SQL函数并返回所需的结果。

  3. 使用jQuery插件(例如tablesorter)(可能)基本上提供与2中相同的功能,或通过它自己的过滤系统 - 我不确定我没有使用它!!

  4. 我的偏好是1.(即纯PHP + MySQL解决方案),因为它提供了最好的通用功能。您可以随时添加javascript / ajax,以便为更现代的浏览器和用户提供更多的信息!

相关问题