검색에서 날짜 검색을 하고 싶습니다! 채택완료
검색에서 날짜를 선택하여 검색하려고 합니다!
그런데 특정한 날만 검색하는 것이 아니라 날짜에 기간을 선택하여 그 기간에 포함되는 값을 출력하거나
그것이 어렵다면 선택된 날 이후의 값들을 출력하고 싶습니다!


해당 값들을 DB에서 가져올 수는 있는데 이 쿼리문을 어디에 넣어서 수정해야할지 막막해서 질문글을 남깁니다!!
그리고 현재 CANADESIGN님의 팁을 보고 날짜 검색을 수정 중입니다!
고수님들 한번만 귀한 시간 부탁드립니다!! 감사합니다ㅠㅠ
답변 2개
"/lib/common.lib.php"
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and'){
...
switch ($field[$k]) {
case "wr_1" :
$str .= " wr_10 >= '$wr_1' ";
break;
case "mb_id" :
case "wr_name" :
$str .= " $field[$k] = '$s[$i]' ";
break;
/bbs/board.php?bo_table=somebbs&sfl=wr_1&stx=2022-03-25
이렇게 검색하시면 됩니다.
답변에 대한 댓글 7개
/bbs/board.php?bo_table=somebbs&sfl=wr_1&stx=2022-03-25
이 부분은 무슨 의미인지 알 수 있을까요?
list.skin.php에서
<!-- 게시판 검색 시작 { -->
<div class="bo_sch_wrap">
<fieldset class="bo_sch">
<h3>검색</h3>
<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">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<option value="wr_subject"<?php echo get_selected($sfl, 'wr_subject'); ?>>사료명</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<div class="sch_bar">
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" 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>
</div>
<button type="button" class="bo_sch_cls" title="닫기"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">닫기</span></button>
</form>
</fieldset>
<div class="bo_sch_bg"></div>
</div>
여기부분에서 수정을 하라는 말씀이시죠?
http://localhost/bbs/board.php?bo_table=purchase_drug&sfl=wr_1&stx=2021-03-25
이 주소로 들어가려고 하는데 들어가 검색을 해도 그냥 일반 화면만 나오는데 어떻게 나오도록 하는지 잘 이해가 되지 않습니다..
항상 감사드립니다.
for ($k=0; $k<count($field); $k++) { // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)
// SQL Injection 방지
// 필드값에 a-z A-Z 0-9 _ , | 이외의 값이 있다면 검색필드를 wr_subject 로 설정한다.
$field[$k] = preg_match("/^[\w\,\|]+$/", $field[$k]) ? strtolower($field[$k]) : "wr_subject";
$str .= $op2;
switch ($field[$k]) {
case "wr_1" :
$str.="wr_1>= '$wr_1'";
break;
case "mb_id" :
case "wr_name" :
$str .= " $field[$k] = '$s[$i]' ";
것들을 위의 것들처럼 수정했는데
function get_sql_search() 함수는 따로 수정하지 않았습니다.
댓글을 작성하려면 로그인이 필요합니다.
보드스킨안에 board.head.skin.php 만드시구요.
검색창 태그안에 input wr_2 : 시작날짜 input wr_3 : 끝나는날짜 태그만드시구요
board.head.skin.php에서
if($_GET['wr_2'] && $_GET['wr_3']){
$sql = 'wr_1 between "'.$_GET['wr_2'].'" AND "'.$_GET['wr_3'].'"';
$sql_apms_where .= ' and ' . $sql;
}
답변에 대한 댓글 4개
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/jquery-ui-git.js"></script>
<script>
$.datepicker.setDefaults({
dateFormat: 'yy-mm',
prevText: '이전 달',
nextText: '다음 달',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
showMonthAfterYear: true,
yearSuffix: '년'
});
$(function() {
$("#stx2, #e_Date").datepicker({
dateFormat: 'yy-mm-dd'
});
});
</script>
<!-- 게시판 검색 시작 { -->
<div class="bo_sch_wrap">
<fieldset class="bo_sch">
<h3>검색</h3>
<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">
<label for="sfl" class="sound_only">검색대상</label>
<!-- 날짜 검색 시작 { -->
<!-- } 날짜검색 끝 -->
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<div class="sch_bar">
<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="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>
</div>
<button type="button" class="bo_sch_cls" title="닫기"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">닫기</span></button>
</form>
</fieldset>
<div class="bo_sch_bg"></div>
</div>
이게 지금 사용하고 있는 검색입니다!!
고수님의 말씀은 여기 datepicker 에서
$(function() {
$("#stx2, #e_Date").datepicker({
dateFormat: 'yy-mm-dd'
date함수에서 wr_1만큼 날짜를 빼면된다는 말씀이시죠?
});
});
if($_GET['wr_1']){
$sql='SELECT * FROM g5_write_purchase_drug WHERE wr_1 >= "'.$_GET['wr_1'].'"'
$sql_apms_where .= ' and ' . $sql;
}?>
맨 처음에 고수님이 알려주신대로 이렇게 수정하면 왜 안될까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인