2017-01-30 38 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; 
      }