Как конвертировать и исправить ошибки в этом коде для CodeIgniter? - PullRequest
0 голосов
/ 14 июля 2011

как преобразовать этот код в код CodeIgniter:

search_hotel: -> это CI_Model

return mysql_query("select * from hotel_submits where name LIKE '".$searchterm."'")

я пытаюсь, но есть ошибка:

$query = $this->db->order_by("id", "desc")->like('name', '$searchterm')->get('hotel_submits');
        return $query->row();

ошибка:

A PHP Error was encountered
Severity: Warning
Message: mysql_fetch_assoc() expects parameter 1 to be resource, array given
Filename: admin/tour.php
Line Number: 15


A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: admin/tour.php
Line Number: 21

код: -> это CI_Controller

$searchterm = $this->input->post('search_hotel');
$result = $this->model_tour->search_hotel($searchterm);
while ($row = mysql_fetch_assoc($result)) { //this is line 15
//giving names to the fields
$data = array (
   'name' => $row->name,            
);
}
echo json_encode($data);  //this is line 21

1 Ответ

3 голосов
/ 14 июля 2011

Думаю, здесь есть разные вещи. В вашей модели, где вы возвращаете $ query-> row (), вы собираетесь вернуть только одну строку набора записей. Вместо этого вы должны попробовать $ query-> result (). Я бы также посоветовал перенести код, который есть в вашем контроллере, в модель. Таким образом, ваша модель начнет выглядеть примерно так:

function search_hotel($searchterm)
{

$query = $this->db->order_by("id", "desc")->like('name', $searchterm)->get('hotel_submits');

$data = array();

foreach ($query->result() as $row)
{
   data[] = $row->name
}

return $data
}

Таким образом, ваш контроллер просто становится примерно таким:

function your_controller() {
//Set your $search_term somehow

    echo json_encode($this->model('your_model_name')->search_hotel($search_term);
}

Надеюсь, это должно начать указывать вам на правильный путь. Полную информацию о создании и использовании наборов записей можно найти в документации по CI - http://codeigniter.com/user_guide/database/index.html

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