Codeigniter - Маршрутизация со строками запросов - PullRequest
0 голосов
/ 26 сентября 2018

Я новичок в Codeigniter.Я разработал простую форму поиска, и при нажатии на нее отображаются результаты.

Я использовал метод get в своей форме, из-за которого при поиске URL-адрес выглядит как домен / Search / search_func? Keyword = test & submit= Поиск.Я хочу изменить URL на что-то вроде домена / Поиск / Тест.Здесь Search - мой контроллер, search_func - мой метод, а test - параметр get.Я пытался использовать `$ route ['Search / search_func? (: Any)'] = 'Search / search_func'; 'но не повезло .. Кто-нибудь может помочь с этим?

HTML

<form name="search_form" action="/Search/search_func">
Search: <input type="text" placeholder="Enter keywords, city, country, etc." name="keyword">
<input type="submit" name="submit" value="Search">

КОНТРОЛЛЕР

    <?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Search extends CI_Controller {
    public function index()
    {
        $this->load->view('search');
    }
    public function search_func()
    {
        $this->load->model('Search_model');
        $result['rows'] = $this->Search_model->search_result();
        $this->load->view('search_results',$result);
    }
}
?>

МОДЕЛЬ

 <?php

class Search_model extends CI_Model
{
    public function search_result(){
        $this->load->database();
        $keyword  = $this->input->get('keyword'); 
        //$query = $this->db->get("employee");
        $query = $this->db->query("select * from employee where city like '%".$keyword."%' or state like'%".$keyword."%' or country like '%".$keyword."%'");
        $results = $query->result();
        return $results;
    }
}   
?>

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Ваш маршрут настроен

$route['search/(:any)'] = 'search/search_func/$1';

У вашего контроллера должен быть параметр.Так что ваш контроллер функции

public function search_func($keyword)
{
$this->load->model('Search_model');
        $result['rows'] = $this->Search_model->search_result($keyword);
        $this->load->view('search_results',$result);
}

На вашей модели функции

public function search_result($keyword){
        $this->load->database();
        $query = $this->db->query("select * from employee where city like '%".$keyword."%' or state like'%".$keyword."%' or country like '%".$keyword."%'");
        $results = $query->result();
        return $results;
    }
0 голосов
/ 26 сентября 2018
<form name="search_form" action="/search/">
Search: <input type="text" placeholder="Enter keywords, city, country, etc." name="keyword">
<input type="submit" name="submit" value="Search">

$route['Search/(:any)'] = 'Search/search_func/$1';

здесь search - ваш контроллер (: любой) будет сопоставлен с вашим параметром get и будет обработан search_func поискового контроллера.

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