흑 수저 남녀 검색관련 입니다. 흑흑

흑 수저 남녀 검색관련 입니다. 흑흑

QA

흑 수저 남녀 검색관련 입니다. 흑흑

답변 3

본문

흑흑 수저 검색 관련입니다.

 

 

            <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


<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";

님 너무 감사합니다~ 흑흑
흑 수저가 쉽지 않아서 혹시나 간단하게 할 수 있을지 몰라 질문드렸는데...
이렇게 어려운 내용을 시간내서 만들어주시니..흑흑
꼭 성공해보겠습니다. 흑흑 감사합니다.


<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'

감사합니다~ 그런데
흑 수저가 어렵군요,,ㅋ
쿼리라고 하시니 갑자기 무서워지는군요,,,
아 그리고 숟가락이군요,,더불어 감사합니다.
가장 큰문제는 쿼리를 어찌 짜야하는지,,,난감합니다..ㅋ

그림자님,,
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])."') "; 
}


경우에 따라 17줄은 주석처리 해야 될 수도 있겠네요.

다시 알려주신 것으로 해보았는데...
wr_1, wr_2의 선택값이 출력되지 않고,,,모조리 출력되는데...

$sfl, $stx 이부분이 뭔가 무리가 있어 보이네요,,,주석처리해도 마찬가지구요,,,흑흑..
시간내서 짜주셨는데 안되어서 면목이 없습니다. 유유

아..

 


$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])."') "; 
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로