php - Codeigniter $this->db->order_by (' ' ,'desc' ) 结果不完整

标签 php codeigniter

我想在我的模型中使用下面的查询按降序对我的数据库值进行排序。但是,它并没有完全按降序对数据库中的所有值进行排序,但是当使用升序时,它工作得很好。

function sort_all_courses_desc($tennant_id)
{
    $this->db->select('*');
    $this->db->where('tennant_id',$tennant_id);
    $this->db->order_by("course_name","desc");
    $this->db->from('courses');
    $query=$this->db->get();
    return $query->result();
}

最佳答案

放在where之前,order_by放在最后:

$this->db->select('*');
$this->db->from('courses');
$this->db->where('tennant_id',$tennant_id);
$this->db->order_by("UPPER(course_name)","desc");

或者尝试二进制:

ORDER BY BINARY course_name DESC;

您应该在 codeigniter 上手动添加以进行二进制排序。

并设置“course_name”字符列。

If sorting is used on a character type column, normally the sort is conducted in a case-insensitive fashion.

类(class)表中的结构数据是什么类型?

如果你感到沮丧,你可以放入数组并使用 PHP 返回:

使用 natcasesort 按“自然顺序”排序:(引用:http://php.net/manual/en/function.natcasesort.php)

以数据库中的数组为例:$array_db = $result_from_db:

$final_result = natcasesort($array_db);

print_r($final_result);

关于php - Codeigniter $this->db->order_by (' ' ,'desc' ) 结果不完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15272321/

相关文章:

PHP/MySQL 按日期和随机排序

php - codeigniter 中的这个数据库错误是什么

php - codeigniter 事件记录左连接

javascript - 如何将单击/选定的行数据从一个表传递到并排放置的另一个表

javascript - Stripe AJAX PHP 和 JavaScript

php - 如何使用 PHP + JS +(MySQL?)+(AJAX?)进行快速、轻量级、经济的在线聊天

php - WP Bootstrap 选项卡

mysql - mysql 中不使用 Between 获取 0 到 100 之间的记录

php - 在 codeigniter 中将查询保留在 "VIEW"之外

php - 使用ajax完成我的搜索输入