首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php mysql按DESC排序

问php mysql按DESC排序
EN

Stack Overflow用户
提问于 2017-01-07 18:03:26
回答 2查看 182关注 0票数 1

我有像下面这样的api代码,在最新的它显示根据我的要求,但对于cid和aid,我需要相同的最新(必须显示最近作为第一)。我的代码如下所示,谢谢

代码语言:javascript
复制
<?php include("includes/connection.php");

mysql_query("SET NAMES 'utf8'");

if(isset($_GET['language_id']))
{ 
    $query="SELECT cid,category_name,category_image FROM tbl_category WHERE lid='".$_GET['language_id']."'";

}
else if(isset($_GET['cat_id']))
{

    $cat_id=$_GET['cat_id'];        

        $query="SELECT * FROM tbl_quotes
    LEFT JOIN tbl_category ON tbl_quotes.cat_id= tbl_category.cid 
    where tbl_quotes.cat_id='".$cat_id."'";

}
else if(isset($_GET['latest']))
{
    $limit=$_GET['latest'];     
    $query="SELECT * FROM tbl_quotes
    LEFT JOIN tbl_category ON tbl_quotes.cat_id= tbl_category.cid 
    ORDER BY tbl_quotes.id DESC LIMIT $limit";
}
else if(isset($_GET['home_banner']))
{

    $query="SELECT app_name,app_url,app_image FROM tbl_banner";     

}
else if(isset($_GET['about_app']))
{

    $query="SELECT app_name,app_logo,app_email,app_website,app_description FROM tbl_settings";      

}
else
{

    $query="SELECT id,language_name FROM tbl_language";


}
$resouter = mysql_query($query);

$set = array();

$total_records = mysql_num_rows($resouter);
if($total_records >= 1){

  while ($link = mysql_fetch_array($resouter, MYSQL_ASSOC)){

    $set['Quotes'][] = $link;
  }
}
else
{
    $set['Quotes'][] = null;
}
 header( 'Content-Type: application/json; charset=utf-8' );
 echo $val= str_replace('\\/', '/', json_encode($set));

对此进行了实验性的修改,但无济于事

代码语言:javascript
复制
else if(isset($_GET['cat_id']))
{

    $cat_id=$_GET['cat_id'];        

        $query="SELECT * FROM tbl_quotes
    LEFT JOIN tbl_category ON tbl_quotes.cat_id= tbl_category.cid 
    where tbl_quotes.cat_id='".$cat_id."'";

}

试试这个也成功了吗?php mysql sort by date (Recent)

这是链接接口/api.php?cat_id=1

EN

回答 2

Stack Overflow用户

发布于 2017-01-07 19:51:07

当您使用SELECT语句查询表中的数据时,结果集不会按任何顺序排序。要对结果集进行排序,请使用ORDER BY

就像这样:

代码语言:javascript
复制
ORDER BY column1 [ASC|DESC]

如下所示,根据它修改代码:

代码语言:javascript
复制
$query="SELECT * FROM tbl_quotes
    LEFT JOIN tbl_category ON tbl_quotes.cat_id= tbl_category.cid 
    ORDER BY tbl_quotes.id DESC,date DESC LIMIT $limit";
票数 2
EN

Stack Overflow用户

发布于 2017-01-08 10:50:39

谢谢你,我试过了,而且成功了

代码语言:javascript
复制
else if(isset($_GET['cat_id']))


$cat_id=$_GET['cat_id'];        

    $query="SELECT * FROM tbl_quotes
LEFT JOIN tbl_category ON tbl_quotes.cat_id= tbl_category.cid 
where tbl_quotes.cat_id='".$cat_id."' order by cid DESC";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41520193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档