php - MySQL 中使用链接动态排序

标签 php mysql html sorting

我有一个 MySQL 查询,我试图在单击链接时动态排序。

我的链接如下所示

                 <form action="topics.php" method="get" class="form">
                   <label class="label">Order Table By</label>
                    <li><a href="topics.php?sort=ID">ID</a></li>
                    <li><a href="topics.php?sort=Title">Title</a></li>
                    <li><a href="topics.php?sort=TAGS">Tags</a></li>
                    <li><a href="topics.php?sort=VIEWS">Views</a></li>
                 </form>

MySQL 查询如下所示:

<?php

        $order = mysql_real_escape_string($_GET['sort']);          
$topics = mysql_query("SELECT topic_id AS 'ID', topic_head AS 'Title', 
                              topic_tags AS 'TAGS', topic_views AS 'VIEWS',
                       FROM forum_topics 
                       WHERE topic_id > 0 ORDER BY '$order' DESC") or die (mysql_error());

当我单击上面的任何链接时,没有任何反应。没有显示错误,也没有进行排序。 问题可能出在哪里? 谢谢

最佳答案

试试这个:

<?php
  $sortParams = ('ID','Title','Tags','Views');
  $order = mysql_real_escape_string($_GET['sort']);
  if(!in_arrray($order,$sortParams))
  {
    $order = 'ID';//Assuming by default you sorting by ID
  }  
  $topics = mysql_query("SELECT topic_id AS 'ID', topic_head AS 'Title', 
        topic_tags AS 'TAGS', topic_views AS 'VIEWS',
        FROM forum_topics 
        WHERE topic_id > 0 ORDER BY $order DESC") or die (mysql_error());

关于php - MySQL 中使用链接动态排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12364482/

相关文章:

php - Laravel 获取所有具有类别的记录

php - 在 PHP 中验证对 WSDL 的传入 SOAP 请求

mysql - 如何在where子句中使用用户定义的变量

php循环问题

html - 使用 css 计算 html 元素的样式

php - “创建于”和 'updated at' 字段

php - 删除常用词但当要求返回可理解的内容时?

mysql - 带投影的条件查询不获取一对多集合

html - 使用 css 设置背景图像时遇到问题

javascript - 获取语​​句不添加到数据库