날짜 기간별 검색 관련 질문입니다!
본문
현재 날짜검색 ~ 날짜검색 으로 하여 날짜를 선택하여 그 날짜에 해당되는 모든 리스트를 보여주는 기능을 구현하고자 하는데 코드는 아래와 같습니다!
list.skin.hphp
$(function() {
$("#stx, #stx2, #e_Date").datepicker({
dateFormat: 'yy-mm-dd'
});
});
</script>
<div style="width:<?php echo $width; ?>; text-align:right;">
<!-- 날짜 검색 시작 { -->
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<input type="hidden" name="sfl" value="wr_12" />
<input type="hidden" name="sfl" value="wr_1"<?php echo get_selected($sfl, 'wr_1'); ?>>
<i class="fa fa-calendar" aria-hidden="true"></i> <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="sch_input" size="25" maxlength="20" placeholder="날짜검색">
~
<i class="fa fa-calendar" aria-hidden="true"></i> <input type="text" name="stx2" value="<?php echo stripslashes($stx2) ?>" required id="stx2" class="sch_input" size="25" maxlength="20" placeholder="날짜검색">
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
</form>
<!-- } 날짜검색 끝 -->
common.lib.php
$str .= $op2;
switch ($field[$k]) {
case "wr_12" :
$str .= " wr_1 between '{$s[$i]}' and '$stx2' ";
break;
case "mb_id" :
case "wr_name" :
$str .= " $field[$k] = '$s[$i]' ";
break;
list.php
$is_search_bbs = false;
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
if($bo_table == "purchase_stock")
$sql_search="{$sfl} between '{$stx}' and '{$stx2}'";
else
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
이렇게 작성하고 실행을 하면 앞에 돋보기(검색) 아이콘 누르면 앞쪽에 날짜검색은 입력하지 않으면 입력 하라고 뜨는데 뒤에 날짜검색은 입력 하지 않아도 그냥 넘어가 버리게 됩니다. 또 뒤에 날짜 검색은 <br /><b>Warning</b>: Undefined variable $stx2 in <b>C:\xampp\g5\theme\basic\skin\board\purchase_stock\list.skin.php</b> on line <b>225</b><br />라는 문구도 나오구요.
뒤에 날짜검색도 에러메세지도 표출이 안되게 하고, 입력하지 않으면 입력하라는 문구가 나오게 하고 날짜가 입력이 되야 해당 날짜에 게시물들이 검색되게 하는 방법이 없을까요?ㅠㅠ
!-->!-->!-->답변 2
1.
$sfl은 하나만 쓰셔야 합니다.
<input type="hidden" name="sfl" value="wr_12" />
<input type="hidden" name="sfl" value="wr_1"<?php echo get_selected($sfl, 'wr_1'); ?>>
2.
common.lib.php
아래 함수라고 가정을 하고
// 검색 구문을 얻는다.
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and')
{
global $g5;
global $stx2; 추가 되어 있는지 확인해 보세요.
3. 에러 메시지( Notice로 시작하는 에러는
common.php
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );
이 부분을 조정해서 안 나타게 할 수 있습니다.
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR );
list.skin.php 상단에..
$stx2 = $_GET['stx2'] ? $_GET['stx2'] : '';
를 넣으면 되지 않을까 싶습니다.