본문 바로가기
MySql

MySQL Codeigniter 검색 상자 또는 검색 양식

by 베이스 공부 2020. 11. 23.
반응형

Codeigniter에서 검색 양식을 만들려고합니다. 사용자가 검색하려는 책의 제목과 저자를 입력 할 수있는 텍스트 상자를 만들었습니다. 이것은 지금까지 내 코드입니다. 내 코드가 맞습니까?

제어 장치:

function searchBooks() {
    $postlist['bookSearch'] = $this->view_book_model->getSearchBook($this->input->post('search'));
    $this->load->view('searchbooks.php', $postlist);
}

모델:

function getSearchBook($searchBook) {
    $select_query = "Select * from books where Title = '.$searchBook.' ";
    $query = $this->db->query($select_query);
    return $query->result();
}

전망:

<input type="text" class="searchBox" id="searchBox"> </input>
<input type="submit" value="Search" class="btnInput" id="btnInput"> </input>
<br><br>
<?php
echo '<hr>';
echo '<h3> Book List </h3>';
echo '<table id="maintable"  class="table">';
echo '<th> Book ID</th>';
echo '<th> Book Title </th>';
echo '<th> Book Author </th>';
echo '<th> # of Copies </th>';
echo '<th> Available Copy </th>';

foreach($bookSearch as $rows) {
    echo '<tr>
            <td>'.$rows->BookID.'</td>
            <td>'.$rows->Title.'</td>
            <td>'.$rows->Author.'</td>
            <td>'.$rows->Qty.'</td>
            <td>'.$rows->OnHand.'</td>
        </tr>';
}
echo '</table>';
?>

사용자가 검색 창에 입력 한 내용을 검색하기 위해 ajax를 사용합니다. 문제는 사용자가 검색 한 책의 제목과 저자를 검색하는 관점에서 모델을 코딩하는 방법을 모른다는 것입니다.

 

해결 방법

 


function getSearchBook($searchBook) {
    if(empty($searchBook))
       return array();

    $result = $this->db->like('title', $searchBook)
             ->or_like('author', $searchBook)
             ->get('books');

    return $result->result();
} 

 

참조 페이지 https://stackoverflow.com/questions/29098707

 

 

반응형

댓글