2017-01-30 39 views
0

我有一张有500个结果的表格。使用order_by&limit CodeIgniter在10中选择5个随机结果?

我需要玩家选择DESC选项,然后限制10个结果,并选择CodeIgniter的10个结果中的10个。

我有什么:

public function getServers(){ 
    $this->db2->from('server'); 
    $this->db2->order_by("players", "desc"); 
    $this->db2->limit(5); 

    $query = $this->db2->get(); 

    if ($query->num_rows() > 0) { 
     foreach ($query->result() as $row) { 
      $data[] = $row; 
     } 
     return $data; 
    } 
    return false; 
} 
+1

欢迎来到Stack Overflow!你可以[参观](http://stackoverflow.com/tour) –

回答

1

如果我理解正确的话,你要选择你的数据库中的十大结果,通过柱玩家下令降序排列,然后在随机选择的这5个?

只要改变你的代码的一行:

$this->db2->limit(10); 

然后调用类的方法:

$my_random_five = array_rand($this->getServers(), 5); 

然后也可以考虑使用http://php.net/manual/en/function.mt-rand.php

0

你的代码应该是这个样子如上面标记所示

  $my_random_five = array_rand($this->getServers(), 5); 
      public function getServers(){ 
       $this->db2->from('server'); 
       $this->db2->order_by("players", "desc"); 
       $this->db2->limit(10); 
       $query = $this->db2->get(); 
       if ($query->num_rows() > 0) { 
        foreach ($query->result() as $row) { 
         $data[] = $row; 
        } 
        return $data; 
       } 
       return false; 
      }