분류 카테고리를 체크박스로 다중선택하여 글쓰기 완료 시 해당 분류선택 시 나오지 않는 현상

분류 카테고리를 체크박스로 다중선택하여 글쓰기 완료 시 해당 분류선택 시 나오지 않는 현상

QA

분류 카테고리를 체크박스로 다중선택하여 글쓰기 완료 시 해당 분류선택 시 나오지 않는 현상

답변 2

본문

https://sir.kr/g5_tip/12256

 

이부분을 참고하여 게시판 작성 분류 카테고리 다중선택을 진행하였습니다.

 

카테고리가 다중선택이 가능하도록 글작성까지 잘 되지만, 

 

리스트페이지에서 분류카테고리를 누르면 뜨지 않네요....

 

만약 분류가 서울,경기 이렇게 체크되어서 글작성을 하였다면, 서울 카테고리를눌렀을때도 나오고 경기 카테고리를 눌렀을때도 나와야하는데, 아래이미지처럼 되어있네요 ㅠㅠ

 

3543063980_1624596078.1579.png

 

서울버튼 따로 경기버튼따로 나오도록 할 순 업는건가요?

 

전체 레이아웃은 이렇습니다.

 

3543063980_1624596002.6059.png

 

분류 카테고리명이 나오는 부분의 코드는 이렇습니다.

 


<li class="main_lists_date">
                                    <!--<?php echo $list[$i]['wr_name']?> <?php echo $list[$i]['wr_datetime']?>-->
                                    <?php if ($list[$i]['comment_cnt']) { ?> <span class="cnt_cmt">+<?php echo $list[$i]['wr_comment']; ?></span><?php } ?>
                                    <?php if ($list[$i]['ca_name']) { ?>
                                    <dd class="list_ca"><a href="<?php echo $list[$i]['ca_name_href'] ?>"><?php echo $list[$i]['ca_name'] ?></a></dd>
                                    <?php } ?>
                                </li>

이 질문에 댓글 쓰기 :

답변 2

lib/common.lib.php에서

590줄보시면 get_sql_search 함수가있을겁니다

밑에 내려보시면

    if ($search_ca_name)

        $str = " ca_name = '$search_ca_name' ";

이부분을

 

    if ($search_ca_name)

        $str = " ca_name LIKE '%$search_ca_name%' ";

 

으로바꿔주세요.

// 검색 구문을 얻는다.
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and')
{
    global $g5;
    global $bo_table;

    $str = "";
    if ($search_ca_name)
        $str = " ca_name = '$search_ca_name' ";
   
    if($search_ca_name && $bo_table == 'gallery') // bo_table 값에 쓰실 게시판주소bo_table값작성
    {
        $str = " ca_name LIKE '%$search_ca_name%' ";
    }


이렇게하시면되겠네요.

방법은 다양할텐데

어떻게 구성하느냐는 로직을 구현하기 나름입니다.

 

글을 저장할시

카테고리를 멀티로 저장할경우

 

1개의 컬럼(필드)에 '|'로 구분한 값을 저장하고

조회시에 explode 시켜서 값을 가지고 있어야하고(해당페이지 로딩시점)

 

실제 카테고리 리스트에서 선택여부를 표기할때는

각 카테고리별로 값이 존재하는지를 중복(멀티선택된 값수만큼) 체크를 하면서 체크여부를 정해야 하죠

 

위의 로직에서는 단순이 저장된것을 표기하는 형태라서

멀티로 처리하는 로직은 없네요

 

로직을 고민해보시는걸 추천드립니다.

그래야 이후의 화면구성을 할때도 다시금 구현할테니까요

 

어느정도 고민해보신후 직접 개선하시거나 잘안풀릴경우 다시 질문올리시면 답이 잘 달릴것같네요

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 358
© SIRSOFT
현재 페이지 제일 처음으로