codeigniter排序查询结果返回

时间:2012-08-19 13:41:33

标签: mysql codeigniter sorting

我希望在控制器中对查询结果进行排序,“之后”从模型中返回,这是我在尝试的内容:

$query = $this->user->get_all_users();
foreach($query as $user){
    // dynamically according to my projects' logic 
    // assigns a grade to  each user
    $user->grade = assign_a_grade_to_user() 
}

我要做的是,$query中的结果应根据学生的成绩进行排序,然后将已排序的$查询传递给我的视图进行打印

任何有关此问题的建议或想法?

注意:如果我们使用其他临时变量或数据结构没有问题,例如我们也可以将排序结果存储在其他变量中

1 个答案:

答案 0 :(得分:1)

这应该做:

  function cmp( $a, $b )
    { 
      if(  $a->grade==  $b->grade){ return 0 ; } 
      return ($a->grade< $b->grade) ? -1 : 1;
    } 

    $sortedArray=usort($query ,'cmp');

所以你的代码应该是这样的:

$query = $this->user->get_all_users();
foreach($query as $user){
    // assigns a grade to  each user
    $user->grade = assign_a_grade_to_user() 
}

 $sortedArray=usort($query ,'cmp');
$data['users']=$query;
$this->load->view('home',$data);