게시판 검색결과 페이지에서 더보기 버튼 채택완료
이 분의 더보기버튼 스킨을 써서 응용했는데
게시판 검색결과 페이지에서 더보기 버튼을 누르면 검색결과에 해당되지않은 게시물도 같이 보여집니다.
하지만 저는
1, 검색결과 페이지에서 더보기를 눌렀을 때 검색결과만 나오도록 하고
2. 만약 검색결과에 게시물이 없다면 더보기를 없애고싶습니다.
검색해도 나오지 않고 스스로 계속 깨작깨작 만져도 오히려 악화만 될뿐이네요...
혹시 방법을 알려주시면 정말로 감사하겠습니다!
아래는 list.php 코드입니다.
</p>
<p><?php</p>
<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p> </p>
<p>// 선택옵션으로 인해 셀합치기가 가변적으로 변함</p>
<p>$colspan = 5;</p>
<p> </p>
<p>if ($is_checkbox) $colspan++;</p>
<p>if ($is_good) $colspan++;</p>
<p>if ($is_nogood) $colspan++;</p>
<p> </p>
<p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨</p>
<p>add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);</p>
<p>?></p>
<p> </p>
<p><section id="sc_1" class="co"></p>
<p> <div class="sc_mid"></p>
<p> <!-- input --></p>
<p> <!-- 게시판 검색 시작 { --></p>
<p> <div class="bo_sch_wrap"></p>
<p> <h2>게시판 제목</h2></p>
<p> <!-- 게시판 검색 시작 { --></p>
<p> <form name="fsearch" method="get" id="formbox"></p>
<p> <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>"></p>
<p> <!-- <input type="hidden" name="sca" value="<?php echo $sca ?>"> --></p>
<p> <input type="hidden" name="sop" value="and"></p>
<p> <div class="sel1box selbox"></p>
<p> <select name="sfl" id="sfl"></p>
<p> <option value="wr_subject">제목</option></p>
<p> <option value="wr_content">내용</option></p>
<p> <option value="wr_subject||wr_content">제목+내용</option></p>
<p> <option value="wr_name,1">글쓴이</option></p>
<p> <option value="wr_name,0">글쓴이(코)</option></p>
<p> </select></p>
<p> </div></p>
<p> <div class="sel2box selbox"></p>
<p> <?php if ($is_category) { ?></p>
<p> <!--</p>
<p> <form name="fcategory" method="get"></p>
<p> <input type="hidden" name="bo_table" value="<?php echo $bo_table; ?>"></p>
<p> --></p>
<p> <select name="sca" id="cat"></p>
<p> <option value=''>전체</option></p>
<p> <?php echo get_category_option($bo_table, $sca); // SELECT OPTION 태그로 넘겨받음 ?></p>
<p> </select></p>
<p> <!--</p>
<p> <input type="submit" value="확인" class="sel_btn"></p>
<p> </form></p>
<p> --></p>
<p> <?php } ?></p>
<p> </div></p>
<p> </p>
<p> <div class="sch_bar"></p>
<p> <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx"</p>
<p> class="sch_input" size="25" maxlength="20" placeholder=" 무엇을 도와드릴까요?"></p>
<p> <button type="submit" value="검색" class="sch_btn"><i class="fa-solid fa-magnifying-glass"></i></p>
<p> <span class="xbtn"><i class="fa-solid fa-xmark"></i></span></p>
<p> </button></p>
<p> </div></p>
<p> </form></p>
<p> </fieldset></p>
<p> </div></p>
<p> </div></p>
<p></section></p>
<p> </p>
<p><!-- top button --></p>
<p><a href="#" class="top_button"></p>
<p> <i class="xi-angle-up"></i></p>
<p></a></p>
<p> </p>
<p><!-- 게시판 목록 시작 { --></p>
<p><section id="bo_list"></p>
<p> <form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);"</p>
<p> method="post"></p>
<p> <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>"></p>
<p> <input type="hidden" name="sfl" value="<?php echo $sfl ?>"></p>
<p> <input type="hidden" name="stx" value="<?php echo $stx ?>"></p>
<p> <input type="hidden" name="spt" value="<?php echo $spt ?>"></p>
<p> <input type="hidden" name="sca" value="<?php echo $sca ?>"></p>
<p> <input type="hidden" name="sst" value="<?php echo $sst ?>"></p>
<p> <input type="hidden" name="sod" value="<?php echo $sod ?>"></p>
<p> <input type="hidden" name="page" value="<?php echo $page ?>"></p>
<p> <input type="hidden" name="sw" value=""></p>
<p> </p>
<p> <div class="tbl_head01 tbl_wrap"></p>
<p> <table></p>
<p> <thead></p>
<p> <tr></p>
<p> <?php if ($is_checkbox) { ?></p>
<p> <th scope="col" class="all_chk chk_box"></p>
<p> <input type="checkbox" id="chkall"</p>
<p> onclick="if (this.checked) all_checked(true); else all_checked(false);"</p>
<p> class="selec_chk"></p>
<p> <label for="chkall"></p>
<p> <p>전체선택</p></p>
<p> </label></p>
<p> </th></p>
<p> <?php } ?></p>
<p> <div id="bo_list_total"></p>
<p> <span>Total <?php echo number_format($total_count) ?>건</span></p>
<p> </div></p>
<p> </tr></p>
<p> </thead></p>
<p> <tbody id="ajax_data"></p>
<p> <?php</p>
<p> for ($i=0; $i<count($list); $i++) {</p>
<p> if ($i%2==0) $lt_class = "even";</p>
<p> else $lt_class = "";</p>
<p> ?></p>
<p> <tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>"></p>
<p> <?php if ($is_checkbox) { ?></p>
<p> <td class="td_chk chk_box"></p>
<p> <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>"</p>
<p> id="chk_wr_id_<?php echo $i ?>"></p>
<p> </td></p>
<p> <?php } ?></p>
<p> </p>
<p> <td class="td_subject td_news"</p>
<p> style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"> <?php</p>
<p> if ($is_category && $list[$i]['ca_name']) {</p>
<p> ?></p>
<p> <a href="<?php echo $list[$i]['ca_name_href'] ?>"</p>
<p> class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a></p>
<p> <?php } ?></p>
<p> <div class="list_box"></p>
<p> <div class="bo_h2"></p>
<p> <a href="<?php echo $list[$i]['href'] ?>"></p>
<p> <?php echo $list[$i]['icon_reply'] ?></p>
<p> <?php</p>
<p> if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);</p>
<p> ?></p>
<p> <?php echo $list[$i]['subject'] ?></p>
<p> </a></p>
<p> </div></p>
<p> <div class="bo_date"></p>
<p> <?php echo $list[$i]['datetime'] ?></p>
<p> </div></p>
<p> </div></p>
<p> <a href="#"></p>
<p> <div class="new_arr"></div></p>
<p> </a></p>
<p> </td></p>
<p> </p>
<p> </tr></p>
<p> <?php } ?></p>
<p> <?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table" datano="no">게시물이 없습니다.</td></tr>'; } ?></p>
<p> </tbody></p>
<p> </table></p>
<p> </div></p>
<p> </p>
<p> <div class="more_button">더보기 +</div></p>
<p> </p>
<p> <!-- 게시판 페이지 정보 및 버튼 시작 { --></p>
<p> <div id="bo_btn_top"></p>
<p> <ul class="btn_bo_user"></p>
<p> <?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i</p>
<p> class="fa-solid fa-gear"></i></a></li><?php } ?></p>
<p> <?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn" title="RSS"><i</p>
<p> class="fa fa-rss" aria-hidden="true"></i><span class="sound_only">RSS</span></a></li></p>
<p> <?php } ?></p>
<p> <?php if ($is_admin) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i</p>
<p> class="fa-solid fa-pen"></i></a></li></p>
<p> <?php } ?></p>
<p> <?php if ($is_admin == 'super' || $is_auth) { ?></p>
<p> <li></p>
<p> <button type="button" class="btn_more_opt is_list_btn btn_b01 btn" title="리스트 옵션"><i</p>
<p> class="fa-solid fa-ellipsis-vertical"></i></button></p>
<p> <?php if ($is_checkbox) { ?></p>
<p> <ul class="more_opt is_list_btn"></p>
<p> <li><button type="submit" name="btn_submit" value="선택삭제"</p>
<p> onclick="document.pressed=this.value"><i class="fa fa-trash-o" aria-hidden="true"></i></p>
<p> 선택삭제</button></li></p>
<p> <li><button type="submit" name="btn_submit" value="선택복사"</p>
<p> onclick="document.pressed=this.value"><i class="fa fa-files-o" aria-hidden="true"></i></p>
<p> 선택복사</button></li></p>
<p> <li><button type="submit" name="btn_submit" value="선택이동"</p>
<p> onclick="document.pressed=this.value"><i class="fa fa-arrows" aria-hidden="true"></i></p>
<p> 선택이동</button></li></p>
<p> </ul></p>
<p> <?php } ?></p>
<p> </li></p>
<p> <?php } ?></p>
<p> </ul></p>
<p> </div></p>
<p> <!-- } 게시판 페이지 정보 및 버튼 끝 --></p>
<p> </form></p>
<p></section></p>
<p> </p>
<p><?php if($is_checkbox) { ?></p>
<p><noscript></p>
<p> <p>자바스크립트를 사용하지 않는 경우
별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p></p>
<p></noscript></p>
<p><?php } ?></p>
<p>
</p>
<p><!-- 페이지 --></p>
<p><span id="page_n" style="display:none;">2</span></p>
<p> </p>
<p><script type="text/javascript"></p>
<p><!--</p>
<p>$(document).ready(function() {</p>
<p> </p>
<p> $(".more_button").click(function() {</p>
<p> $(this).html('<i class="fa fa-spinner fa-spin"></i>');</p>
<p> </p>
<p> var disp_li_length = $("#gallery_json > li").length;</p>
<p> </p>
<p> var page_n = $('#page_n').html();</p>
<p> $.get("<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&ajax_ck=1&sca=<?php echo urlencode($sca) ?>&page=" +</p>
<p> page_n,</p>
<p> function(data) {</p>
<p> var append_data = $(data).find('#ajax_data').html();</p>
<p> var cking = $(data).find('.empty_table').attr("datano");</p>
<p> </p>
<p> if (cking != "no") {</p>
<p> $('#page_txt').html('');</p>
<p> $('#ajax_data').append(append_data);</p>
<p> $('#page_n').html(parseInt(page_n) + 1);</p>
<p> $(".more_button").html('더보기 +');</p>
<p> } else {</p>
<p> alert('게시물이 존재하지 않습니다.');</p>
<p> $(".more_button").html('더보기 +');</p>
<p> }</p>
<p> });</p>
<p> </p>
<p> });</p>
<p>});</p>
<p>//</p>
<p>--></p>
<p></script></p>
<p> </p>
<p><script></p>
<p>jQuery(function(x) {</p>
<p> $(".bo_sch_wrap h2").on("click", function() {</p>
<p> window.location = "<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>";</p>
<p> });</p>
<p>});</p>
<p></script></p>
<p> </p>
<p><?php if ($is_checkbox) { ?></p>
<p><script></p>
<p>function all_checked(sw) {</p>
<p> var f = document.fboardlist;</p>
<p> </p>
<p> for (var i = 0; i < f.length; i++) {</p>
<p> if (f.elements[i].name == "chk_wr_id[]")</p>
<p> f.elements[i].checked = sw;</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>function fboardlist_submit(f) {</p>
<p> var chk_count = 0;</p>
<p> </p>
<p> for (var i = 0; i < f.length; i++) {</p>
<p> if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)</p>
<p> chk_count++;</p>
<p> }</p>
<p> </p>
<p> if (!chk_count) {</p>
<p> alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> if (document.pressed == "선택복사") {</p>
<p> select_copy("copy");</p>
<p> return;</p>
<p> }</p>
<p> </p>
<p> if (document.pressed == "선택이동") {</p>
<p> select_copy("move");</p>
<p> return;</p>
<p> }</p>
<p> </p>
<p> if (document.pressed == "선택삭제") {</p>
<p> if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))</p>
<p> return false;</p>
<p> </p>
<p> f.removeAttribute("target");</p>
<p> f.action = "./board_list_update.php";</p>
<p> }</p>
<p> </p>
<p> return true;</p>
<p>}</p>
<p> </p>
<p>// 선택한 게시물 복사 및 이동</p>
<p>function select_copy(sw) {</p>
<p> var f = document.fboardlist;</p>
<p> </p>
<p> if (sw == "copy")</p>
<p> str = "복사";</p>
<p> else</p>
<p> str = "이동";</p>
<p> </p>
<p> var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");</p>
<p> </p>
<p> f.sw.value = sw;</p>
<p> f.target = "move";</p>
<p> f.action = "./move.php";</p>
<p> f.submit();</p>
<p>}</p>
<p>// 게시판 리스트 관리자 옵션</p>
<p>jQuery(function($) {</p>
<p> $(".btn_more_opt.is_list_btn").on("click", function(e) {</p>
<p> e.stopPropagation();</p>
<p> $(".more_opt.is_list_btn").toggle();</p>
<p> });</p>
<p> $(document).on("click", function(e) {</p>
<p> if (!$(e.target).closest('.is_list_btn').length) {</p>
<p> $(".more_opt.is_list_btn").hide();</p>
<p> }</p>
<p> });</p>
<p>});</p>
<p></script></p>
<p><?php } ?></p>
<p>
답변 3개
검색기능이 원활하려면
검색어 / 조건에 해당하는 값을 더보기의 데이타를 가져오는 로직에 동일하게 맞춰주셔야합니다.
검색을 할때 넘겨주는 정보는
</span></span></p>
<pre>
<span style="font-size:11pt;"><span style="font-family:맑은 고딕;"><code> <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>"></code></span></span></pre>
<p><span style="font-size:11pt;"><span style="font-family:맑은 고딕;"><code>
들이 있는데
이중에서
더보기에 넘기는 서버호출내용은
</span></span></p>
<p> </p>
<pre>
<span style="font-size:11pt;"><span style="font-family:맑은 고딕;"><code>$.get("<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&ajax_ck=1&sca=<?php echo urlencode($sca) ?>&page=" +
page_n,</code></span></span></pre>
<p><span style="font-size:11pt;"><span style="font-family:맑은 고딕;"><code>
의 내용에 따라
sca 와
page가 있네요
page는 더보기할때마다 증가하게 구성되어있으니
sca와 page를 제외한 나머지를
get parameter방식으로 추가를 하시면 될것같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
더보기 눌렀을때 페이지 뿐만아니라 검색조건이 안넘어가서 그런거 같습니다.
stx 와 sfl 을 같이 보내시면 되실거 같아요
임시로 이렇게 해보시겠어요?
$.get("<?=G5_URL?>/bbs/board.php?bo_table=<?=$bo_table?>&ajax_ck=1&sca=<?php echo urlencode($sca) ?>&page=" + page_n + "&sfl=<?=$sfl?>&stx=<?=$stx?>",
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인