使用CodeIgniter从mysql数据库中获取随机记录

33

我在互联网上进行了研究,但没有找到任何东西...

我有一个mysql数据库和一张记录表,我需要在每个页面加载时从这张表中获取随机记录。如何做到?有什么函数可以实现吗?

谢谢!感激不尽。


已排序: 链接:http://www.derekallard.com/blog/post/ordering-database-results-by-random-in-codeigniter/

$this->db->select('name');
$query = $this->db->get('table');
$shuffled_query = $query->result_array();
shuffle ($shuffled_query);

foreach ($shuffled_query as $row) {
    echo $row['name'] . '<br />';
}

$this->db->order_by('rand()'); 是你在代码中添加的行,用于获取随机结果。 - Muhammad Fahad
12个回答

0

不使用 ORDER BY RAND() 查询的随机行:

$all_rows = $this->db->get('table')->result_array();
$random_row = $all_rows[rand(0,count($all_rows)-1)];

0

这个函数以随机顺序检索表中的所有行

public function get_questions(){
    $this->db->select('*');
    $this->db->order_by('rand()');
    $this->db->from('multiple_choices');
    $query = $this->db->get();
    return $query->result_array();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接