I researched over the internet, but could not find anything...
I have a mysql db, and records at a table, and I need to get random record from this table at every page load. how can I do that? Is there any func for that?
Appreciate! thanks
SORTED: link: 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 />'; }
Codeigniter provides the ability to order your results by 'RANDOM' when you run a query. For instance
function get_random_page() { $this->db->order_by('id', 'RANDOM'); or $this->db->order_by('rand()'); $this->db->limit(1); $query = $this->db->get('pages'); return $query->result_array(); }
I've used this before and found it to work fine. Hope that helps
I don't know about codeigniter, but getting a random dataset is
SELECT * FROM table ORDER BY RAND() LIMIT 1
The relevant part is "ORDER BY RAND()
", obviously.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With