Почему нельзя получить ожидаемый результат из базы данных в CodeIgniter? - PullRequest
0 голосов
/ 07 ноября 2018

Моя модель, как показано ниже

            $values = array_count_values($books);

            arsort($values);

            $newArray = array_keys($values);

            $views_books_array = array_slice($newArray, 0, 5);

            $result = $this->db->where_in('book_id',$views_books_array)->get('books');

            return $result->result_array();

новый массив будет как ниже

Массив ([0] => 37 [1] => 28 [2] => 31 [3] => 30 [4] => 38)

но когда я получу данные, они получат данные случайно, а не то, что я дал

я передаю book_id модели и контроллеру мой контроллер, как показано ниже,

$ data ['result'] = $ this-> Book_Model-> get_viewed_books ($ book_id);

если результат print_r будет таким, как

Массив ([0] => 28 [1] => 30 [2] => 31 [3] => 37 [4] => 38)

так, но я хочу данные в соответствии с newArray, что я сделал не так

пожалуйста, помогите мне с этим что-нибудь оценили бы

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Вот пример, взятый прямо из руководства и адаптированный к вашему случаю:

<?php
$numbers = array(4, 6, 2, 22, 11); 
sort($numbers);

$arrlength = count($numbers);
for($x = 0; $x < $arrlength; $x++) {
  echo $numbers[$x];
  echo "<br>";
}

?>

Вы также можете определить это с помощью вашего запроса. Пример приведен ниже:

$this->db->order_by('column_name', 'ASC');
0 голосов
/ 07 ноября 2018

Я не совсем понимаю, что вы хотите сделать, но если вы хотите упорядоченный результат, вы можете использовать этот метод:

$this->db->order_by('column', 'order');

Второй параметр может быть: «ASC» или «DESC». Проверьте кодовый указатель , руководство .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...