lablanco
lablanco

Reputation: 103

Product search function not working in CodeIgniter

I tried to make a function in the CodeIgniter framework so users can search products from my database and display (echo) them if a certain product is found. The problem is if I try to search for a keyword I see a blank page and nothing happens.

Search controller:

    <?php


class SearchController extends CI_Controller {


    public function index(){
         $data = array();
         //load view
         $this->load->view('result_view',$data);
    }

    function search_keyword()
{
    $this->load->model('Search_model');
    $keyword    =   $this->input->post('keyword');
    $data['results'] = $this->Search_model->search($keyword);

}


}

My search model:

<?php



class Search_model extends CI_Model  {


    function search($keyword) {


    $this->db->select('product_naam');
    $this->db->like('product_naam',$keyword);
    $query  =   $this->db->get('products');
    return $query->result();
}

}

?>

My view file:

<h2>Zoek een cadeau</h2><br>
<form class="navbar-form" role="search" action="<?= base_url('SearchController/search_keyword')?>" method = "post">
    <div class="input-group">
        <input type="text" class="form-control" placeholder="Search" name = "keyword" size="30px; ">
        <div class="input-group-btn">
            <button class="btn btn-default " type="submit" value = "Search"><i class="glyphicon glyphicon-search"></i></button>
        </div>
    </div>
</form>
</center>
<div class="clearfix"></div>

Upvotes: 0

Views: 208

Answers (1)

Ahmed Ginani
Ahmed Ginani

Reputation: 6650

Change

return $query->result();

to

return $query->result_array();

Also, you are not calling result page in function and passing data in view.

function search_keyword()
{
    $this->load->model('Search_model');
    $keyword    =   $this->input->post('keyword');
    $data['results'] = $this->Search_model->search($keyword);
    $this->load->view('result_view',$data);
}

Upvotes: 2

Related Questions