Obtener datos aleatoriamente de la base de datos con CodeIgniter

Resulta que necesito obtener datos random de la base de datos con el framework de CodeIgniter.

en la database tengo una tabla que se llama frases y dentro de ella dos campos:

Tipo y frase

En el campo tipo tengo 1 la cual tiene 5 frases y lo mismo con tipo 2 tipo 3 tipo 4 tipo 5

entonces quiero hacer un select frases ramdon where tipo = 1

y que me muestre frases aleatorias del tipo 1. buscando encontré este código:

function Getramdon(){

    $this->db->order_by('tipo','RANDOM');
    $this->db->limit(1);
    $query = $this->db->get('frases');
    return $query->result_array();
  } 

pero me muestra frases aletorias de otros tipos y no solo del 1 como yo le pedi.

0
задан 23.12.2016, 17:30
1 ответ

Обрати внимание, что ты перемещаешь как аргумент string RAMDOM и нет RANDOM, что был бы правильным. Измени это так:

$this->db->order_by('tipo','RANDOM');

Чтобы получать только те типа тебе не хватает 1 статья WHERE. Доказательство добавляя эту инструкцию:

$this->db->where('tipo', 1);
3
ответ дан 24.11.2019, 11:53
  • 1
    спасибо, сейчас функционируй, но в меня бросает aletoriamente типа независимый 2, который я ввел такой 1 как стоимость в компьютер – Hernan Humaña 23.12.2016, 17:28
  • 2
    спасибо, уже я это решил! добавил where $ this-> db-> where (" tipo" $tipo); тогда сейчас функционируй, стой. – Hernan Humaña 23.12.2016, 17:36
  • 3
    Если ответ @santiaguito ты ayudó чтобы решать твою главную проблему я воодушевляю тебя к тому, чтобы ты пометил ее как правильный ответ! – Jorius 23.12.2016, 17:46