기간별 검색에 관하여 질문드립니다. .... 헬프미 ~~~^^ 정보
기간별 검색에 관하여 질문드립니다. .... 헬프미 ~~~^^본문
하루 하루 다르게 그누에 빠져 사는 프로그램 초짜 다시한번 그누 고수님들께 ... 자문을 올립니다.
저의 회사 엄무상 필요한 스킨을 제작중인데요 ... 고수님들의 도움으로 조금씩 조금씩
고지가 보이고 있습니다...
질문의 요지는 다름이 아니라...
기간별 검색을 하고 싶어서 다음과 같이 작성하였습니다.
<select name=sfl class=front_menu4>
<option value='wr_3'>개통일짜</option>
<option value='wr_5'>입금일짜</option>
</select>
<input type=text name=fr_date size=8 maxlength=8 itemname='기간' required value='<?=$fr_date?>'> ~
<input type=text name=to_date size=8 maxlength=8 itemname='기간' required value='<?=$to_date?>'>
<input type=text name=to_date size=8 maxlength=8 itemname='기간' required value='<?=$to_date?>'>
<input type=image src="<?=$board_skin_path?>/img/search_btn.gif" border=0 align=absmiddle>
* 개통일짜 (wr_3 여유필드) 를 사용하였고 * 입금일짜 (wr_5 여유필드) 를 사용하였습니다.
예를드어
입금일짜 061101 (2006년 11월 1일) 을 검색하면 자~~알 ... 검색되어집니다.(단 하루)
061103 (200년 11월 3일) 을 검색해도 잘나옵니다.
제가 필요한 정보는
061101 부터 061103 까지 그러니깐 11월1일 부터 11월 3일까지의 모든 정보를 검색하고 싶습니다.
고수님들의 조언을 듣고 싶네요.. 그누고수님들중 몇분이 힌트를 줘서 입력필드를 두개까지 만들어봤는데
다음적용을 못하겠더라구요..
다음은 작성중인 스킨 주소입니다.
실제 사용중인 주소인지라...
테스트 아이디 : jun
패스워드 : jun
입니다.
고수님들의 답변을 기다리겠습니다.
끝까지 읽어주신 모든 그누가족님들께 감사함을 드립니다.
꾸벅~~~ ^^
댓글 전체
무슨 말씀이신지는 알겠는데..
전혀 접근하는 방법이 이건 아닙니다.
현재 게시판에서 리스트되는 방법은
wr_3 이 2006-11-09 인것만 검색 쿼리에 plus 됩니다.
그러나 기간별로 검색이 된다함은
wr_3 이
즉 입력 받은값이 2006-11-01 ~ 2006-11-09 사이에 들어 있어야 합니다.
그런데 현재 2006-11-01 은 있어도 2006-11-09 는 없다는 것 입니다.
설사
게시판 리스트에서
셀렉트박스1: 0000년 00월 00일 ~ 0000년 00월 00일 까지
셀렉트박스2: 개통일자|입금일자
로 이 값을 넘겨 줘도
bbs/list.php 에서 처리되는 부분이 업습니다.
원하시는 기능을 넣으시려고 bbs/list.php 를 손보시는데는 무리가 있으실 겁니다.
따로
페이지를 만드시는게 더 빠릅니다.
common.lib.php 에 보시면
이 함수가 있습니다.
// 날짜를 select 박스 형식으로 얻는다
function date_select($date, $name="")
{
global $g4;
$s = "";
if (substr($date, 0, 4) == "0000") {
$date = $g4[time_ymdhis];
}
.
.
적용은 aaa.php 를 하나 만드시고
<?=date_select("검색시작하는 날짜형:2006-09-11스타일", $name="sdate")?>
~ <?=date_select("검색끝 날짜형", $name="edate")?>
그럼 두가지의 셀렉트 박스가 날짜별로 선택되겠죠?
그럼 그 함수는 입력된 값을
셀렉트 박스 1개당 3가지로 분리를 합니다.
즉 sdate_y 는 2006
sdate_m=09
sdate_d=11
마찬가지로
edate_m .... 되면
시간 분 초는 제외하더라도
그날이면 00:00:00 초 부터 23:59:59 초 사이에 있어야 되겠죠.
# 2 기간별 가입자________________________________________________
$between_start_time = ("{$sdate_y}-{$sdate_m}-{$sdate_d} 00:00:00");
$between_end_time = ("{$edate_y}-{$edate_m}-{$edate_d} 23:59:59");
그럼
해당 wr_3 이나 5 가
저 위의 시간 사이에 들어 있으면 뽑아 내면 됩니다.
select * from 롸이트테이블 where( 어쩌고 저쩌고 조건 )
위의 조건 사이에 어쩌고 저쩌고 다음에 and 로 이런 구문 이 들어 가야 합니다.
$sql_search .=" and(wr_5 between '$between_start_time' and '$between_end_time') ";
그럼
여분필드가 시간형으로 입력되었을때
그걸 원하는 시간 사이의 값만 골라내는.
.
.
답은 드리지 못합니다..
방법만 드릴뿐.
전혀 접근하는 방법이 이건 아닙니다.
현재 게시판에서 리스트되는 방법은
wr_3 이 2006-11-09 인것만 검색 쿼리에 plus 됩니다.
그러나 기간별로 검색이 된다함은
wr_3 이
즉 입력 받은값이 2006-11-01 ~ 2006-11-09 사이에 들어 있어야 합니다.
그런데 현재 2006-11-01 은 있어도 2006-11-09 는 없다는 것 입니다.
설사
게시판 리스트에서
셀렉트박스1: 0000년 00월 00일 ~ 0000년 00월 00일 까지
셀렉트박스2: 개통일자|입금일자
로 이 값을 넘겨 줘도
bbs/list.php 에서 처리되는 부분이 업습니다.
원하시는 기능을 넣으시려고 bbs/list.php 를 손보시는데는 무리가 있으실 겁니다.
따로
페이지를 만드시는게 더 빠릅니다.
common.lib.php 에 보시면
이 함수가 있습니다.
// 날짜를 select 박스 형식으로 얻는다
function date_select($date, $name="")
{
global $g4;
$s = "";
if (substr($date, 0, 4) == "0000") {
$date = $g4[time_ymdhis];
}
.
.
적용은 aaa.php 를 하나 만드시고
<?=date_select("검색시작하는 날짜형:2006-09-11스타일", $name="sdate")?>
~ <?=date_select("검색끝 날짜형", $name="edate")?>
그럼 두가지의 셀렉트 박스가 날짜별로 선택되겠죠?
그럼 그 함수는 입력된 값을
셀렉트 박스 1개당 3가지로 분리를 합니다.
즉 sdate_y 는 2006
sdate_m=09
sdate_d=11
마찬가지로
edate_m .... 되면
시간 분 초는 제외하더라도
그날이면 00:00:00 초 부터 23:59:59 초 사이에 있어야 되겠죠.
# 2 기간별 가입자________________________________________________
$between_start_time = ("{$sdate_y}-{$sdate_m}-{$sdate_d} 00:00:00");
$between_end_time = ("{$edate_y}-{$edate_m}-{$edate_d} 23:59:59");
그럼
해당 wr_3 이나 5 가
저 위의 시간 사이에 들어 있으면 뽑아 내면 됩니다.
select * from 롸이트테이블 where( 어쩌고 저쩌고 조건 )
위의 조건 사이에 어쩌고 저쩌고 다음에 and 로 이런 구문 이 들어 가야 합니다.
$sql_search .=" and(wr_5 between '$between_start_time' and '$between_end_time') ";
그럼
여분필드가 시간형으로 입력되었을때
그걸 원하는 시간 사이의 값만 골라내는.
.
.
답은 드리지 못합니다..
방법만 드릴뿐.
관심 가져 주셔서 감사합니다.꾸벅^^
날짜를 입력 받을때 061107 이라는 규칙성있게 입력 받고 있습니다.
해서 리스트에서 뽑아올때
<?
$wr_3a =$list[$i][wr_3]; //$a 의값이 061107 일때
$wr_3b= substr($wr_3a,0,2)."-".substr($wr_3a,2,2)."-".substr($wr_3a,4);
//결과값은 06-11-07
?>
이런식으로 뽑아옵니다. 해서 정확한 날짜를 구현 할 필요는 없어요 .. ^^헌데 새로운 php를 만들라는 말씀은 알겠는데 ........... 아 정말 php의 세계는 멀기도 허네요 ^^
해서 리스트에서 뽑아올때
<?
$wr_3a =$list[$i][wr_3]; //$a 의값이 061107 일때
$wr_3b= substr($wr_3a,0,2)."-".substr($wr_3a,2,2)."-".substr($wr_3a,4);
//결과값은 06-11-07
?>
이런식으로 뽑아옵니다. 해서 정확한 날짜를 구현 할 필요는 없어요 .. ^^헌데 새로운 php를 만들라는 말씀은 알겠는데 ........... 아 정말 php의 세계는 멀기도 허네요 ^^
그누보드의 모든 날짜 형이 2006-09-11 00:00:00 입니다.
실질적으로 06년은 없습니다. 1초까지 정확하게 골라내려면
unix_timestamp 를 쓰는데
다시 앞에다가 20 을 붙여줘야 합니다.
$bs_unix=@mysql_result(@mysql_query("select unix_timestamp('$between_start_time')"),0,0);
<?
//검색구간선택 ____________________________________________________
//[시작]__________________________________________________________
$sy=date('Y');
$sn=date('m'); $sj= date('d');
echo date_select("{$sy}-{$sn}-{$sj}", $name="sdate");
?>
아니...
답은 다 나왔는데 뭘 그러시나요? ㅠㅠ
실질적으로 06년은 없습니다. 1초까지 정확하게 골라내려면
unix_timestamp 를 쓰는데
다시 앞에다가 20 을 붙여줘야 합니다.
$bs_unix=@mysql_result(@mysql_query("select unix_timestamp('$between_start_time')"),0,0);
<?
//검색구간선택 ____________________________________________________
//[시작]__________________________________________________________
$sy=date('Y');
$sn=date('m'); $sj= date('d');
echo date_select("{$sy}-{$sn}-{$sj}", $name="sdate");
?>
아니...
답은 다 나왔는데 뭘 그러시나요? ㅠㅠ
부끄럽네요.. 지식이 짧아서리 ... ㅠㅠ
여분필드 wr_x 에 대한 검색이 g3에는 팁으로 나와있는데 g4는 아직 없는것 같군요.
g3라도 참고하실려면 다음 링크를 참고하세요.
http://www.sir.co.kr/bbs/board.php?bo_table=g3_tiptech&sca=&sfl=wr_subject&stx=%B0%CB%BB%F6%BF%A1%BC%AD+%B0%CB%BB%F6%C7%CF%B1%E2&sop=and&x=0&y=0
g3라도 참고하실려면 다음 링크를 참고하세요.
http://www.sir.co.kr/bbs/board.php?bo_table=g3_tiptech&sca=&sfl=wr_subject&stx=%B0%CB%BB%F6%BF%A1%BC%AD+%B0%CB%BB%F6%C7%CF%B1%E2&sop=and&x=0&y=0
감사합니다. 루트님 .......... 함 적용시켜 보도록 노력해 볼께요 ..... 헌데 넘 어려버요 휴 ~~~~~~~~ ㅠㅠ
얼마전 제가 같은 질문을 했었습니다. 원소스 수정없이 구현이 힘들더군요.
저 또한 별도 페이지를 만들어 해결하는 방법으로 했습니다.
아래링크는 질문 했던 내용입니다. 참고하기기 바랍니다.
http://www.sir.co.kr/bbs/tb.php/g4_qa/34170
제가 했던방법은 스킨자료실에 있으며 테스트용 링크는 아래이며 간편장부4를 보시면 됩니다.
http://www.sir.co.kr/bbs/tb.php/g4_skin_board/12909 스킨자료실
http://test.i7979.co.kr 테스트링크
잘 해결 되시길 바랍니다. 저도 하다 도저히 어려워서.. 스킨내 파일만으로 해결했음 하는데...
저 또한 별도 페이지를 만들어 해결하는 방법으로 했습니다.
아래링크는 질문 했던 내용입니다. 참고하기기 바랍니다.
http://www.sir.co.kr/bbs/tb.php/g4_qa/34170
제가 했던방법은 스킨자료실에 있으며 테스트용 링크는 아래이며 간편장부4를 보시면 됩니다.
http://www.sir.co.kr/bbs/tb.php/g4_skin_board/12909 스킨자료실
http://test.i7979.co.kr 테스트링크
잘 해결 되시길 바랍니다. 저도 하다 도저히 어려워서.. 스킨내 파일만으로 해결했음 하는데...
장돌뱅이님 감사합니다.
사실은 장돌뱅이님 스킨을 참조로 작성했거든요 ^^
헌데 너무나 소스가 어려버서리 이렇게 도움을 청한겁니다.
지금 보고 있는 소스도 간편장부4를 보고 있구요 ... 아 넘 어려버요 ....
사실은 장돌뱅이님 스킨을 참조로 작성했거든요 ^^
헌데 너무나 소스가 어려버서리 이렇게 도움을 청한겁니다.
지금 보고 있는 소스도 간편장부4를 보고 있구요 ... 아 넘 어려버요 ....
관리자 화면 접속자현황의 날짜선택부분 및 쿼리 부분을 참조하세욧~~!