2015-12-27 2 views
0

У меня есть эта функция в Code igniter PHP, где я пытаюсь получить все строки из базы данных, соответствующие входному значению. Как мне изменить код, чтобы получить все строки, соответствующие моим критериям поиска?Функция не возвращает все строки базы данных

Спасибо

Модель Функция поиска:

function findquestion($searchvalue){ 

     $this->db->where('answer1', $searchvalue); 
     $res = $this->db->get('questions'); 
     $count = $res->num_rows(); 

     if($res->num_rows()==0){ 
      return "..."; 
     } 
     $moviearray = $res->row_array(); 
     return $moviearray; 
    } 

Контроллер Функция:

public function getdatabasedata() 
    { 

     if($this->input->server('REQUEST_METHOD') == 'GET') 
     { 
      $year = $this->input->get('searchvalue'); 
      if($year != ''){ 
       $movie = $this->adminmodel->findquestion($year); 
       echo json_encode($movie); 
      } 
     } 
} 

Когда я смотрю на Postman, чтобы проверить, что держит объект JSON, это то, что я получаю. Но на самом деле у меня есть еще три строки в моей базе данных, которые соответствуют моим критериям поиска.

{ 
    "id": "10", 
    "question": "test questions", 
    "image": "test image", 
    "answer1": "answer1", 
    "answer2": "answer2", 
    "answer3": "answer3", 
    "answer4": "answer4" 
} 
+1

Вы должны перебрать все результаты в '$ res'. – jeroen

+0

@jeroen и хранить их в массиве? – Otonel

+0

Да, и отправьте это обратно из метода. – jeroen

ответ

0
function findquestion($searchvalue){ 

1) определить массив.

 $data = array(); 
     $this->db->where('answer1', $searchvalue); 
     $res = $this->db->get('questions'); 


     if($res->num_rows()==0){ 
      return "..."; 
     } 

2) Результаты цикла корыто и хранятся в массиве.

 foreach ($res->result() as $row) 
      { 
       $data[] = array(
        'id' => $row->id, 
        'question' => $row->question, 
        'image' => $row->image, 
        'answer1' => $row->answer1, 
        'answer2' => $row->answer2, 
        'answer3' => $row->answer3, 
        'answer4' => $row->answer4 
       ); 
      } 
     //$moviearray = $res->row_array(); 
     return $data; 
    } 
+0

Вы можете просто json_encode весь файл result_array, сохранить строки в коде. –

+0

Это ваш ответ? – user4419336

+0

@ wolfgang1983 да – Otonel

Смежные вопросы