흑흑 수저 검색 관련입니다.
<form name=fsearch2 action="<?=$board_skin_path?>/tool_xls.php" method="get" style="display:inline" onsubmit="return excel_view()">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name='sfl' value='wr_1'>
<select name='stx'>
<option value='spoon'>숫가락</option>
<option value='chopstic'>젓가락 </option>
<option value=''>전 체</option>
</select>
이렇게 했는데요,,,
<input type=hidden name='sfl' value='wr_2'>도 추가해서
<select name='stx'>
<option value='boy'>남자</option>
<option value='girl'>여자 </option>
<option value=''>전 체</option>
</select>
남자 여자 동시 검색도 추가하려는데 잘 앙되네요,,흑흑 수저는 잘되는데..
즉 수저이면서 남자를 검색하고 싶다는 겁니다..흑흑 잘 앙되요,,유유
답변 3개 / 댓글 7개
<select name="sfl" id="sfl"><option value="wr_1">숫가락</option><option value="wr_2">성별</option><option value="wr_1||wr_2">숫가락, 성별</option></select> <select name='stx'><option value='spoon'>숫가락</option><option value='chopstic'>젓가락 </option> <option value='boy'>남자</option><option value='girl'>여자 </option><option value='spoon boy'>숫가락, 남자</option><option value='spoon girl'>숫가락, 여자</option><option value=''>전 체</option></select>
// lib/common.lib.php function get_sql_search() 내 중간 for문 근처$op2 = ""; $arr =implode('||', $field); // 추가for ($k=0; $k<count($field); $k++) { // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...) // SQL Injection 방지 // 필드값에 a-z A-Z 0-9 _ , | 이외의 값이 있다면 검색필드를 wr_subject 로 설정한다. if ($search_field == $arr) { // 추가 if ($k > 0) break; $field[$k] = preg_match("/^[\w\,\|]+$/", $field[$i]) ? $field[$i] : "wr_subject"; } else $field[$k] = preg_match("/^[\w\,\|]+$/", $field[$k]) ? $field[$k] : "wr_subject";
답변에 대한 댓글 2개
아..
$where = array(); if($sca || $stx){ $where[] = get_sql_search($sca, $sfl, $stx, $sop); $sql = " select MIN(wr_num) as min_wr_num from $write_table "; $row = sql_fetch($sql); $min_spt = $row[min_wr_num]; if (!$spt) $spt = $min_spt; if($wr_1) $where[] = " (wr_1 = '$wr_1') "; if($wr_2) $where[] = " (wr_2 = '$wr_2') "; $where[] = " (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') "; } else { if($wr_1) $where[] = " (wr_1 = '$wr_1') "; if($wr_2) $where[] = " (wr_2 = '$wr_2') "; $where[] = " (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') "; }
답변에 대한 댓글 1개
흑흑 너무 안타까워요,,
<form name=fsearch2 action="<?=$board_skin_path?>/tool_xls.php" method="get" style="display:inline" onsubmit="return excel_view()"> <input type=hidden name="bo_table" value="<?=$bo_table?>"> <select name="wr_1"> <option value="">전 체</option> <option value="spoon">숟가락</option> <option value="chopstic">젓가락 </option> </select> <select name="wr_2"> <option value="">전 체</option> <option value="boy">남자</option> <option value="girl">여자 </option> </select></form>
원본으로는 안되고 이런식으로 코딩한다음에 tool_xls.php 에서 쿼리를 짜야겠지요.
wr_1 = '$wr_1' and wr_2 = '$wr_2'
답변에 대한 댓글 4개
흑 수저가 어렵군요,,ㅋ
쿼리라고 하시니 갑자기 무서워지는군요,,,
아 그리고 숟가락이군요,,더불어 감사합니다.
가장 큰문제는 쿼리를 어찌 짜야하는지,,,난감합니다..ㅋ
tool_xls.php에 이렇게 되어 있는데... 어떻게 고쳐야 할지 한번 봐주시면 고맙겠습니다.
$where = array();
if($sca || $stx){
$where[] = get_sql_search($sca, $sfl, $stx, $sop);
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];
if (!$spt) $spt = $min_spt;
$where[] = " (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
}
<form name=fsearch2 action="<?=$board_skin_path?>/tool_xls.php" method="get" style="display:inline" onsubmit="return excel_view()">
<input type=hidden name="bo_table" value="<?=$bo_table?>">
<select name="wr_1">
<option value="">전 체</option>
<option value="spoon">숟가락</option>
<option value="chopstic">젓가락 </option>
</select>
<select name="wr_2">
<option value="">전 체</option>
<option value="boy">남자</option>
<option value="girl">여자 </option>
</select>
</form>
$where = array();
if($sca || $stx){
$where[] = get_sql_search($sca, $sfl, $stx, $sop);
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];
if (!$spt) $spt = $min_spt;
if($wr_1) $where[] = " (wr_1 = '$wr_1') ";
if($wr_2) $where[] = " (wr_2 = '$wr_2') ";
$where[] = " (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
}
[/code]
경우에 따라 17줄은 주석처리 해야 될 수도 있겠네요.
wr_1, wr_2의 선택값이 출력되지 않고,,,모조리 출력되는데...
$sfl, $stx 이부분이 뭔가 무리가 있어 보이네요,,,주석처리해도 마찬가지구요,,,흑흑..
시간내서 짜주셨는데 안되어서 면목이 없습니다. 유유
답변을 작성하려면 로그인이 필요합니다.
흑 수저가 쉽지 않아서 혹시나 간단하게 할 수 있을지 몰라 질문드렸는데...
이렇게 어려운 내용을 시간내서 만들어주시니..흑흑
꼭 성공해보겠습니다. 흑흑 감사합니다.