【问题标题】:CodeIgniter search box in header标题中的 CodeIgniter 搜索框
【发布时间】:2015-10-30 21:47:05
【问题描述】:

我的搜索框包含在标题中。我想要这样当我输入任何单词进行搜索时,它会从我的数据库中获取结果并转到带有结果的搜索视图页面。我的标头也包含在不同的控制器中。

这是我的控制器

public function index()
{ 
    if($this->input->post('submit')) 
    {
        if($this->input->post('search') == '')
        {
            redirect('search');
        }
        $keyword        =   $this->input->post('search');
        $data['rows']   =   $this->search_model->search($keyword);
    }
    $this->load->view('header');
    $this->load->view('search',$data);
    $this->load->view('footer');
}

这是我的模型

function search($keyword)
{
    $this->db->like('title', $keyword);
    $this->db->or_like('type', $keyword);
    $query  =   $this->db->get('mytable');
    return $query->result();
}

这是我的看法

<form class="navbar-form" role="search" action="<?php echo base_url();?>search" method="post">
      <div class="input-group cust-input">
        <input type="text" class="form-control" placeholder="Search" name="search">
        <div class="input-group-btn ">
       <button class="btn btn-default cust-searchbtn" type="submit" name="submit"><i class="glyphicon glyphicon-search"></i></button>

        </div>
      </div>
    </form>

但是当我搜索某些内容时,它会重定向到我的搜索页面,但结果为空。我想在标题中进行搜索并将结果发送到我的搜索页面,在该页面上显示结果。

【问题讨论】:

  • 用 isset 方法代替这个 if($this->input->post('search') == '')。
  • 搜索单词时标题中的serach框我将结果发送到seach.php查看页面我如何发送到那里
  • 你得到搜索结果了吗($data['rows'])?
  • 有没有使用$data['rows']的视图?
  • @NirajKarmick 你不需要使用 isset if($this-&gt;input-&gt;post('search')){} 如果 $_POST 密钥不可用,将返回 false

标签: php codeigniter


【解决方案1】:
public function index()
{ 
  if(isset($this->input->post('submit'))) 
  {   
    $keyword        =   $this->input->post('search');
    $this->load->model('model_name');
    $data['rows']   =   $this->search_model->search($keyword);
    print_r($data['rows']); //print and check the results are fetching or not---then load it to view.
    $this->load->view('header');
    $this->load->view('search',$data);
    $this->load->view('footer');
  }
  else
  {
     redirect('search');
  }
}

【讨论】:

    【解决方案2】:

    尝试在顶部的“搜索”视图页面上加载“标题”视图。然后是用于搜索视图的 HTML 代码。完成“搜索”视图的 HTML 代码后,加载“页脚”。 例如。你的控制器:

    public function index()
    { 
      if($this->input->post('submit')) 
      {
        if($this->input->post('search') == '')
        {
            redirect('search');
        }
        $keyword        =   $this->input->post('search');
        $data['rows']   =   $this->search_model->search($keyword);
      }
    
      $this->load->view('search',$data);
    
    }
    

    您的看法:

     <?php $this->load->view('header'); ?>
    
    <form class="navbar-form" role="search" action="<?php echo           base_url();?>search" method="post">
      <div class="input-group cust-input">
        <input type="text" class="form-control" placeholder="Search"   name="search">
        <div class="input-group-btn ">
       <button class="btn btn-default cust-searchbtn" type="submit" name="submit"><i class="glyphicon glyphicon-search"></i></button>
    
        </div>
      </div>
    </form>
    <?php $this->load->view('footer'); ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-13
      • 1970-01-01
      • 2021-11-01
      • 2016-07-27
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      相关资源
      最近更新 更多