php - ORDERING mysqli/PHP,如何添加更多排序依据?

标签 php mysql database mysqli sql-order-by

可能是个愚蠢的问题,但我不知道如何扩展此代码来订购,例如按发布的名称、按尺寸、按名称等,只需制作更多订购按钮即可。

这是代码:

$query ="SELECT newsvid.id, newsvid.addName, newsvid.vidTitle, newsvid.url, newsvid.vidSD, newsvid.published, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidZanr2, videoinformation.vidZanr3, videoinformation.vidQuality, videoinformation.vidTranslated, videoinformation.vidTime  FROM newsvid, videoinformation WHERE newsvid.id = videoinformation.id";
$order = isset($_GET['order']) ? $_GET['order'] : 'ASC';
$goodParam = array("ASC", "DESC");

if (in_array($order, $goodParam)) {
if($order == 'ASC'){
     $query .= " ORDER BY newsvid.id ASC"; 
}else{
     $query .= " ORDER BY newsvid.id DESC"; 
    }
}

这是我的按钮:

<a href="view.php?order=ASC">ASC</a> 
<a href="view.php?order=DESC">DESC</a>

附注我使用互联网上的示例并采用我的网站,但现在无法扩展,不知道如何扩展。

谢谢

我到底需要在 php 代码中更改什么才能使用此链接?

<a href="view.php?order=ASC">ASC</a> 
<a href="view.php?order=name">BY Name</a>
<a href="view.php?order=year">By Year</a>
<a href="view.php?order=published">By Publishing</a>
<a href="view.php?order=size">By Size</a>

我必须这样使用吗?

if (in_array($order, $goodParam)) {
if($order == 'ASC'){
     $query .= " ORDER BY newsvid.id ASC"; 
}else if{
     $query .= " ORDER BY newsvid.vidTitle DESC"; 
}else if{
     $query .= " ORDER BY newsvid.published DESC"; 
}else{
     $query .= " ORDER BY videoinformation.vidZard DESC"; 
    }
}

最佳答案

您可以使用多个 ORDER BY,如下所示:

ORDER BY newsvid.id ASC, newsvid.addName DESC

首先对 ID 进行排序,然后再对两个相同的 ID 对名称进行排序。

如果您只是尝试添加新排序,则只需更改 ORDER BY 中的名称...

你可以这样做:

if($order == 'ASC'){
     $query .= " ORDER BY newsvid.id ASC"; 
} elseif ($order == 'name') {
     $query .= " ORDER BY newsvid.addName ASC"; 
} elseif ($order == 'year') {
     $query .= " ORDER BY newsvid.vidYear ASC"; 
}

关于php - ORDERING mysqli/PHP,如何添加更多排序依据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817235/

相关文章:

php - 如何从我的 php 页面获取打印输出设置?

php - Sphinx:保持索引最新。实时指数与实时指数更新

php - Codeigniter 2 多重连接和where语句

mysql - 如何将sqlite同步到Mysql

c# - 单值数据的 session 正在从数据库获取,而双值数据的 session 未到来

以全局变量为数据源的 PHP session 副作用警告

PHPUnit,模拟构造函数?

mysql - hibernate 分离条件 - 如何添加 native sql 语句

mysql - PDO 准备好的语句插入数据库

arrays - Mongodb聚合推送索引