八达网

标题: 用php写的论坛帖子列表如何排序 [打印本页]

作者: 琴瑟琵琶    时间: 2010-10-28 21:20
标题: 用php写的论坛帖子列表如何排序
点击标题根据标题顺序排序,点击发帖人根据发帖人id排序,点击发帖时间根据发帖时间排序

达人帮我看看应该怎么写
  1. <?php

  2.     $order=$_GET['order'];
  3.     $sort=$_GET['sort'];
  4.    
  5.    
  6.         $sql2= "SELECT * FROM `topic` ORDER BY '".$order."' '".$sort."'";
  7.         $res2 = mysql_query($sql2) or die(mysql_error());
  8.    
  9.                                 echo "<table align="center" bgcolor="#CCCCCC">\n";
  10.                                 echo "<tr align="center" bgcolor="#FFFFFF"><td align="center" bgcolor="#FFFFFF">Title</td><td align="center" bgcolor="#FFFFFF">UserID</td><td align="center" bgcolor="#FFFFFF">Date Created</td></tr>\n";
  11.                                 while($row2 = mysql_fetch_assoc($res2)){
  12.                                         echo "<tr align="center"><td><a href="./view.php?id=".$row2['topicId']."">".$row2['title']."</a></td><td>".uid($row2['uid'])."</td><td>".$row2['whenMade']."</td></tr>\n";
  13.                                 }
  14.                                 echo "</table>\n";
  15. ?>
复制代码

作者: 琴瑟琵琶    时间: 2010-10-28 21:23
顶啊...........
作者: Kanepan    时间: 2010-10-28 21:24
八王准备把 WF 老掉牙的ASP 给换掉么
作者: 琴瑟琵琶    时间: 2010-10-28 21:25
学校的作业啊。。。
作者: Arcadia    时间: 2010-10-28 21:29
说一个方法,但可能比较笨
地址转向,加参数,比如sort=title,根据参数不用重造SQL
作者: 国妓米兰    时间: 2010-10-28 21:30

作者: 琴瑟琵琶    时间: 2010-10-28 21:33
说一个方法,但可能比较笨
地址转向,加参数,比如sort=title,根据参数不用重造SQL
Arcadia 发表于 2010-10-28 15:29

为什么我地址栏输入index.php?order=title&sort=asc 排序不起作用 -.-
作者: Arcadia    时间: 2010-10-28 21:37
$sql2 你从网页里面输出来看看,是不是发生了变化
作者: 琴瑟琵琶    时间: 2010-10-28 22:01
<?php

        $sql2 = "SELECT * FROM `topic` ORDER BY whenMade DESC";
        $res2 = mysql_query($sql2) or die(mysql_error());
   
                                echo "<table width=\"80%\" border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#CCCCCC\">\n";
                                echo "<tr align=\"center\" bgcolor=\"#FFFFFF\"><td align=\"center\" bgcolor=\"#FFFFFF\">Title</td><td align=\"center\" bgcolor=\"#FFFFFF\">UserID</td><td align=\"center\" bgcolor=\"#FFFFFF\">Date Created</td></tr>\n";
                                while($row2 = mysql_fetch_assoc($res2)){
                                        echo "<tr align=\"center\"><td><a href=\"./view.php?id=".$row2['topicId']."\">".$row2['title']."</a></td><td>".uid($row2['uid'])."</td><td>".$row2['whenMade']."</td></tr>\n";
                                }
                                echo "</table>\n";


?>

一切正常啊
作者: eugene    时间: 2010-10-28 22:09
1.如果所有的帖子(很多页)都要打乱重排的话,就在后台写个检索,然后分页输出
2.如果只对本页面输出,我觉得用js也行

PS:我没写过这样的,只是提供下思路
第一种可以提供oracle的后台代码
作者: eugene    时间: 2010-10-28 22:10
你数据库用的mysql吗
不知道mysql有没有rownum这样的伪列
作者: Arcadia    时间: 2010-10-28 22:17
$res2 = mysql_query($sql2)
不要屏蔽错误看看会不会报错
作者: cjniao    时间: 2010-10-29 01:30
Order By XXXXXX Desc
作者: OruA    时间: 2010-10-29 08:32
不懂
作者: Leel00    时间: 2010-10-29 08:48
不懂
OruA 发表于 2010-10-29 08:32

装逼的程序蠕蠕
作者: Springsun    时间: 2010-10-29 08:51
去google做什么?




欢迎光临 八达网 (https://www.8-da.com/) Powered by Discuz! X2.5