제목, 내용, 작성자 별로 게시글 검색하기

http://hoowave.dothome.co.kr/

 

장뽕뽕

웹게임 강화해서 광물캐기, 커뮤니티

hoowave.dothome.co.kr

개인 사이트에서 사용해 본 것을 토대로 작성하는 게시글입니다..


게시판 밑에 제목, 내용, 작성자 별로 게시글을 검색하는 기능을 추가해 봤습니다.

 

html

<div class="row justify-content-center">
    <div class="d-flex">
        <div class="input-group">
            <button class="btn btn-outline-dark dropdown-toggle" href="javascript:void(0);" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                <span id="footer-search-val" search="content">제목 + 내용</span>
            </button>
            <ul class="dropdown-menu">
                <li><a class="dropdown-item footer-search" href="javascript:void(0);" id="content">제목 + 내용</a></li>
                <li><a class="dropdown-item footer-search" href="javascript:void(0);" id="writer">글작성자</a></li>
            </ul>
            <input class="form-control me-2 search-word" type="text" placeholder="검색어를 입력해주세요.">
            <a class="btn btn-outline-success search" href="javascript:void(0);">
                검색
            </a>
        </div>
    </div>
</div>

 

js

    $('.footer-search').click(function() {
        var text = $(this).text();
        var val = $(this).attr('id');
        $('#footer-search-val').text(text);
        $('#footer-search-val').attr('search', val);
    });

    $('.search').click(function() {
        var order = $('#header-order-val').attr('order');
        var search = $('#footer-search-val').attr('search');
        var word = $('.search-word').val();
        if (word == "") {
            alert("검색어를 입력해주세요.");
            return false;
        }
        $('#board_load').loading('start');
        $('#board_load').fadeOut(100, function() {
            $('#board_load').load('../menu/view_load.html?type=<?=$type?>&page=<?=$page?>&name=<?=$name?>&order=' + order + '&search=' + search + '&word=' + word,
                function() {
                    $('#board_load').fadeIn(100, function() {
                        $('#board_load').loading('stop');
                    });
                });
        });
    });

 

php

    $search = $_GET['search'];
    $word = $_GET['word'];
    switch($search){
    case 'content':
    $s_cond = "and (content like '%$word%' or title like '%$word%')";
    break;
    case 'writer':
    $s_cond = "and write_user like '%$word%'";
    break;
	}
    if(!$word)
    {
  	$s_cond = "";
    }
   
    $first = ($page*$board_page_num)-$board_page_num;
    $sql = "select * from $table where 1=1 and menu='$type' $n_cond";
    $board_total_num = $db_cls->execute($sql,'num');
    $sql .= "order by $order limit $first,$board_page_num";
    $board_result = $db_cls->execute($sql);
    $board_total = $db_cls->execute($sql,'num');

 

검색 타입과 검색어를 받아와서

s_cond(like 조건절)을 만들어서 추가해 줍니다.

 

해당 게시판에서 제목 또는 내용을 '고양이'라는 단어로 검색했을 때

 

 

해당 게시판에서 글 작성자를 '관리자'로 검색했을 때