【问题标题】:Sorting Alphabetically in PHP from Database在 PHP 中从数据库中按字母顺序排序
【发布时间】:2014-12-22 05:29:16
【问题描述】:

我正在尝试按字母顺序对列表进行排序,该列表取自 MySQL 数据库,但我只能按升序或降序排列信息。这是我目前使用的代码:

if(isset($_GET['cat_id']))
{
    $cat_id=$_GET['cat_id'];    
    $query="SELECT sub_cat_id,sub_cat_name FROM tbl_sub_category WHERE cat_id='". $cat_id."' ORDER BY tbl_sub_category.sub_cat_id DESC LIMIT $number_of_posts";         
}
else if(isset($_GET['sub_cat_id']))
{            
    $sub_cat_id=$_GET['sub_cat_id'];    
    $query="SELECT * FROM tbl_directory WHERE d_subcat_id='". $sub_cat_id."' ORDER BY tbl_directory.d_id DESC LIMIT $number_of_posts";
}
else if(isset($_GET['sub_sub_cat_id']))
{            
    $sub_sub_cat_id=$_GET['sub_sub_cat_id'];        
}
else if(isset($_GET['directory_id']))
{            
    $directory_id=$_GET['directory_id'];        
    $query="SELECT * FROM tbl_directory WHERE d_id='". $directory_id."'";       
}
else
{   
    $query="SELECT cid,category_name,category_image FROM tbl_category ORDER BY tbl_category.cid DESC LIMIT $number_of_posts";
}

【问题讨论】:

  • 这里有什么问题?
  • 为什么要标记android??
  • 将 ORDER BY 与您要排序的 'name' 字段一起使用,而不是 'id' 字段。 $query="SELECT ... FROM tbl_category ORDER BY tbl_category.category_name DESC ...";
  • 这是一个从数据库中检索信息的安卓应用
  • 感谢 usermesam0023 让它工作!

标签: php android mysql sorting alphabetical


【解决方案1】:

您需要按名称排序,而不是按 ID。

注意:在必要的地方放置适当的字段名称。

更正的代码:

<?php
if(isset($_GET['cat_id'])) {
  $cat_id=$_GET['cat_id'];      
  $query="SELECT sub_cat_id,sub_cat_name FROM tbl_sub_category WHERE cat_id='". $cat_id."' ORDER BY tbl_sub_category.sub_cat_name DESC LIMIT $number_of_posts";
}
else if(isset($_GET['sub_cat_id'])) {
  $sub_cat_id=$_GET['sub_cat_id'];        
  $query="SELECT * FROM tbl_directory WHERE d_subcat_id='". $sub_cat_id."' ORDER BY tbl_directory.d_NAME_FIELD DESC LIMIT $number_of_posts";
}
else if(isset($_GET['sub_sub_cat_id'])) {
  $sub_sub_cat_id=$_GET['sub_sub_cat_id'];        
}
else if(isset($_GET['directory_id'])) {
  $directory_id=$_GET['directory_id'];      
  $query="SELECT * FROM tbl_directory WHERE d_id='". $directory_id."'";
}
else {   
  $query="SELECT cid,category_name,category_image FROM tbl_category ORDER BY tbl_category.category)name DESC LIMIT $number_of_posts";
}

【讨论】:

  • 这实际上不起作用,现在我无法检索我的数据库信息。
【解决方案2】:

感谢 usermesam0023 刚刚更改了这一行 ORDER BY tbl_directory.directory_name 而不是 directory_id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2021-05-25
    • 1970-01-01
    • 2021-01-06
    • 2020-03-29
    • 2013-08-24
    相关资源
    最近更新 更多