#php #codeigniter
#php #codeigniter
Вопрос:
привет всем и извините за мой плохой английский, но в любом случае надеюсь, что кто-нибудь сможет мне помочь, поэтому у меня есть веб-портал для просмотра фильмов и телешоу онлайн.я хочу реализовать поиск на сайте по всем таблицам базы данных (у меня есть 3 таблицы: ФИЛЬМЫ, телешоу, АНИМАЦИЯ), поэтому я создаю модель:
<?php
class Search_model extends CI_Model {
public function search($q, $row_count, $offset) {
$array_search = array(
'name' => $q,
'descriptions' => $q
);
$query1 = $this->db
->or_like($array_search)
->limit(100)
->get('movie', $row_count, $offset);
$query2 = $this->db
->or_like($array_search)
->limit(100)
->get('serial', $row_count, $offset);
$query3 = $this->db
->or_like($array_search)
->limit(100)
->get('animation', $row_count, $offset);
return [
'movie' => $query1->result_array(),
'serial' => $query2->result_array(),
'animation' => $query3->result_array(),
];
}
}
также я создаю контроллер:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Search extends MY_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$this->data['title'] = "Search";
$this->load->model('search_model');
$this->data['search_result'] = array();
$offset = (int) $this->uri->segment(3);
$row_count = 5;
if($this->input->get('q_search')) {
$q = $this->input->get('q_search');
$this->data['search_result'] = $this->search_model->search($q, $row_count, $offset);
//pagination
$this->load->library('pagination');
$p_config['suffix'] = '?' . http_build_query($_GET, '', "amp;");
$count = count($this->search_model->search($q, 0 ,0));
$p_config['base_url'] = '/search/index/';
$p_config['first_url'] = $p_config['base_url'].'?'.http_build_query($_GET);
//pagination config
$p_config['total_rows'] = $count;
$p_config['per_page'] = $row_count;
//bootstrap pagination
$p_config['full_tag_open'] = "<ul class='pagination'>";
$p_config['full_tag_close'] ="</ul>";
$p_config['num_tag_open'] = '<li>';
$p_config['num_tag_close'] = '</li>';
$p_config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
$p_config['cur_tag_close'] = "<span class='sr-only'></span></a></li>";
$p_config['next_tag_open'] = "<li>";
$p_config['next_tagl_close'] = "</li>";
$p_config['prev_tag_open'] = "<li>";
$p_config['prev_tagl_close'] = "</li>";
$p_config['first_tag_open'] = "<li>";
$p_config['first_tagl_close'] = "</li>";
$p_config['last_tag_open'] = "<li>";
$p_config['last_tagl_close'] = "</li>";
//init pagination
$this->pagination->initialize($p_config);
$this->data['pagination'] = $this->pagination->create_links();
$this->data['tCount'] = $count;
}
$this->load->view('templates/header', $this->data);
$this->load->view('search', $this->data);
$this->load->view('templates/footer');
}
}
также создайте маршрут:
$route['search'] = 'search';
$route['search/(:any)'] = 'search/$1';
также я создаю файл поиска в папке views / main:
<h2>Search (Result <?php echo $tCount; ?>)</h2>
<?php foreach ($search_result as $key => $value): ?>
<div class="well">
<a href="/movies/view/<?php echo $value['slug']; ?>"><?php echo $value['name']; ?></a><br><br> <?php echo $value['descriptions'].'<br>'; ?>
</div>
<?php endforeach ?>
<?php echo $pagination; ?>
но когда я пытаюсь выполнить поиск, например, фильма или телешоу на портале, у меня возникает ошибка:
Обнаружена ошибка: не удалось загрузить запрошенный файл: search.php
Комментарии:
1. у вас есть файл
search.php
в вашейviews
папке? есть ли у вас контроллер с именемSearch.php
в вашей папке контроллера (с заглавными буквами)?2. да, у меня есть файл поиска в папке просмотра, и да, у меня есть Search.php в контроллере