如何通过在codeigniter中选择搜索类别来从db中搜索记录?

I have list of record in my index page. Now i want to search a particular record/records by choosing the category (e.g phone No, email etc).How can i do this? help..

Here is my view:

    <?php
        $attributes = array('class'=>'searchform', 'id'=>'searchform');
        echo form_open('crud/searchCrud', $attributes);?>
        <div class="formelements">
            <div class="formlbl">
                Search:
            </div>
            <div class="forminput">
                <input type="text" name="searchon" id ="searchon"/>
            </div>
            <div class="searchtyp">
                <select class="searchby" name="searchby">
                    <option value="0">---Select--- </option>
                    <option value="name">Name</option>
                    <option value="email">Email</option>
                    <option value="phone">Phone</option>
                </select>
            </div>
            <div class="searchinput">
                <input type="submit" name="search" value="Search" />
            </div>
        </div>          
        <?php echo form_close();?>

Here is My controller:

    public function searchCrud()
    {
        $records =  $this->crud_mdl->searchCrud();
        foreach ($records as $record) {
            echo $record->name;
        }
    }

Here is My Model:

    public function searchCrud()
    {
        $searchby = $this->input->post('searchby');
        $searchon = $this->input->post('searchon');

        $this->db->get('test')->result();
        return $this->db->like($searchon, $searchby);
    }

1) You should never access POST data directly in the Model.
2) Always collect them in Controller and then pass it to the Model.
3) Also always try to create your Model functions, re-usable.

Modified your code a bit. Try running it.


Controller:

public function searchCrud()
{
    $searchby = $this->input->post('searchby');
    $searchon = $this->input->post('searchon');

    $records =  $this->crud_mdl->searchCrud($searchby, $searchon);
    foreach ($records as $record) 
    {
        echo $record->name;
    }
}


Model:

public function searchCrud($searchby, $searchon)
{
    $this->db->like($searchon, $searchby);
    $query = $this->db->get('test');

    if($query->num_rows() > 0)
         return $query->result();
    else
         return FALSE;
}