Пожалуйста помоги. Я застрял. Не могу заставить работать кнопку поиска (фильтр) в
jTable Codeigniter 3. Приветствия.
Тип: Сообщение об ошибке: вызов функции-члена result () в строке Имя файла: CI \ application \ models \ Country_model.php Номер строки: 34
Вот мой model.php
public function get_country() {
if(empty($this->input->post('country_name'))){
$country_name=NULL;$result = $this->db->query("SELECT country_id, country_code, country_name, surface_area,
continent_name, continent, population, capital_city, record_date
FROM country
WHERE deleted = 0
ORDER BY " . filter_input(INPUT_GET, "jtSorting") . "LIMIT " . filter_input(INPUT_GET, "jtStartIndex") . "," . filter_input(INPUT_GET, "jtPageSize") . ";");
$this->db->where('deleted','0');
} else {
$country_name = filter_input(INPUT_POST, 'country_name');
$result = ("SELECT country_id, country_code, country_name, surface_area,
continent_name, continent, population, capital_city, record_date
FROM country
WHERE deleted = 0 AND
country_name LIKE '%".$country_name."%'". "ORDER BY " . filter_input(INPUT_GET, "jtSorting") . "LIMIT " . filter_input(INPUT_GET, "jtStartIndex") . "," . filter_input(INPUT_GET, "jtPageSize") . ";");
}
$rows = array();
foreach ($result->result() as $row) {
$rows[] = $row;
}
return $rows;
}
вот мой controller.php
public function get_country() {
$this->load->model('Country_model');
$rows = $this->Country_model->get_country();
$result = $this->db->get("country");
$recordCount = $result->num_rows();
$jTableResult = array();
$jTableResult['Result'] = "OK";
$jTableResult['TotalRecordCount'] = $recordCount;
$jTableResult['Records'] = $rows;
print json_encode($jTableResult);
}
и мой view.php
<div class="filtering">
<form>
Country Name: <input type="text" name="country_name" id="country_name" />
country_name: {
title: 'Country Name',
width: '17%'
},
country_code: {
title: 'Country Code',
width: '11%'
},
surface_area: {
title: 'Surface Area',
width: '13%'
},
continent_name: {
title: 'Continent Name',
width: '13%'
},
continent: {
title: 'Continent Code',
width: '11%'
},
population: {
title: 'Population',
width: '13%'
},
capital_city: {
title: 'Capital City',
width: '11%'
},
record_date: {
title: 'Record Date',
width: '11%',
type: 'date',
displayFormat: 'dd.mm.yy',
create: false,
edit: false,
sorting: false
}
},
$('#LoadRecordsButton').click(function (e) {
e.preventDefault();
$('#countryTable').jtable('load', {
country_name: $('#country_name').val(),
});
});
$('#LoadRecordsButton').click();
});
</script>
Вы сделали ошибку в другой части
$result = ("SELEC...
это должно быть как
$result = $this->db->query("SELEC...
Надеюсь, что это может исправить вашу проблему …
Других решений пока нет …