코디잉

18_공동구매 목록 ④ 검색 본문

PROJECT/같이사자(공동구매)

18_공동구매 목록 ④ 검색

yong_ღ'ᴗ'ღ 2022. 9. 1. 03:59

① 메인(게시물 4 * 8 = 32개만)  : 최근 작성된 거에서 32개만 띄움

나머지 아래 목록은 → 게시물 4 * 6 = 24개 + 페이징처리

② 메인카테고리 클릭 시 : 메인카테고리에 해당되는 모든 서브카테고리의 게시물

③ 서브카테고리 클릭 시 : 해당 서브카테고리의 게시물

④ <최근공구> : 최근(7일 이내)에 올라온 공동구매 게시물 

⑤ <마감임박> : 남은 시간이 24시간 이내인 공동구매 게시물

⑥ 검색했을 시 : 게시물의 제목/내용/카테고리 중 검색 내용에 해당되는 게시물 모두 띄움


중에서 마지막 ⑥번!!!

 

⑥ 검색했을 시 : 게시물의 제목/내용/카테고리 중 검색 내용에 해당되는 게시물 모두 띄움

모든화면에서 따라다니는 헤더의 검색창을 통해 공동구매 게시물을 검색할 수 있다.

검색창을 통해 검색하면 검색 내용이 아래에 뜬다.

지금은 "하이하이"라고 검색한 상태 !

사용자의 검색내용과 공동구매 게시물의 제목, 내용, 지역, 카테고리에서 일치하는 부분이 있는 게시물이 모두 보여진다.

여기에서도 최근공구, 마감임박과 마찬가지로 카테고리를 선택해서 볼 수 있다.

 

검색했을 때 보여지는 공동구매 게시물도 [마감임박] 탭과 같이 마감기간이 얼마 안 남은 거 순 + 마감기간이 같다면 최근에 쓴 순서대로 띄웠다.

<!-- 검색 -->
<select id="buypostList_search" resultType="com.test.mybatis.BuypostDTO">
    SELECT CODE, TITLE, AMOUNT, COUNT, GOODS_PHOTO_NAME, LEFT_DAY, LEFT_HOUR, LEFT_MINUTE
    FROM 
    (
        SELECT ROWNUM RNUM, T.*
        FROM
        (
            SELECT CODE, TITLE, AMOUNT, BUY_NUMBER||'/'||GOODS_NUM "COUNT", GOODS_PHOTO_NAME
                 , LEFT_DAY, LEFT_HOUR, LEFT_MINUTE
            FROM VIEW_BUYPOSTLIST
            WHERE REGION LIKE '%'||#{user_region}||'%'
              AND MAIN_CATE_CODE LIKE '%'||#{main_cate_code}||'%'
              AND (TITLE LIKE '%'||#{searchType}||'%' 
                   OR CONTENT LIKE '%'||#{searchType}||'%'
                   OR REGION LIKE '%'||#{searchType}||'%'
                   OR SUB_CATE_CODE = (SELECT CODE
                                       FROM SUB_CATE
                                       WHERE NAME LIKE '%'||#{searchType}||'%'))
            ORDER BY DEADLINE, WRITE_DATETIME DESC	
        ) T
        WHERE ROWNUM <![CDATA[<]]> #{startList} + #{listSize}
    )
    WHERE RNUM <![CDATA[>=]]> #{startList}
</select>

 

검색에서 다른 부분과 달리 처리한 건, 검색 내용을 받아오는 것 뿐이고 나머지는 동일했다.

검색 내용을 가져와서 <input> 의 value로 넣어주는 작업과, 검색버튼을 눌렀을 때의 주소값으로 넘겨주는 처리!

let searchType = '<%=request.getParameter("search")%>';

let searchInput;
if (searchType == null || searchType == "")
{
    searchInput = '';
    $('.buypost-search').val(searchInput);
}
else
{
    $('.buypost-search').val(searchType);
}


$('.buypost-search-btn').click(function()
{
    searchType = $.trim($('.buypost-search').val());
    location.href='buypostsearch.lion?search=' + searchType;
});

 

『마포구』 를 검색했을 때 나오는 게시물이다.

 

아래 사진은 『마포구』 검색 후, 카테고리 『과일/채소』를 선택했을 때이다.

 

아래 사진은 『ㅎㅎ』 검색 시, 나오는 게시물들...ㅎㅎ!....

제목, 내용, 지역, 카테고리에서 검색내용과 일치하는 부분을 찾기 때문에

아래 게시물들은 제목과 내용에 'ㅎㅎ'가 있기 때문에 검색됨

 

그럼 공동구매 목록은 이제 지역 세션처리만 해주면 끝...!!

이걸 먼저 했었어야 했는데 ㅎ........ㅎㅎㅎㅎ....!

Comments