테스트 사이트 - 개발 중인 베타 버전입니다

아이케 다음지도 검색후 검색값만 엑셀출력문제 채택완료

레드페퍼스 5년 전 조회 3,471

현재 아이케님의 다음지도 게시판을 이용하려고 합니다.

엑셀소스를 이용해서 출력을 하는데요

출력할때 게시판 DB의 내용이 모두 출력되어서 

검색을 한후에 나온 목록만 엑셀로 저장을 하고 싶은데 

잘 안되네요.  

 

소스좀 봐주시고 답변부탁드립니다.

 

엑셀소스입니다.

검색은 stx, 이구여 $_GET[stx]로 값이 불러와집니다.

 

</p>

<p>$csv = 'xls';

// MS엑셀 XLS 데이터로 다운로드 받음

if ($csv == 'xls')

{

    $fr_date = date_conv($fr_date);

    $to_date = date_conv($to_date);</p>

<p>  if($_GET[stx]){ 

        $searches .= "and (wr_4 = '{$_GET[stx]}' or as_tag = '{$_GET[stx]}' or wr_1 = '{$_GET[stx]}' or wr_2 = '{$_GET[stx]}' or wr_5 = '{$_GET[stx]}' or wr_subject = '{$_GET[stx]}'  or wr_3 = '{$_GET[stx]}'  or wr_11 = '{$_GET[stx]}')";

    }

    

    if($_GET[fr_date] && $_GET[to_date]){

        $fr_date_a = $_GET[fr_date]." 00:00:00";

        $to_date_a = $_GET[to_date]." 23:59:59";

        $searches .= "and (wr_datetime between '{$fr_date_a}' and '{$to_date_a}') ";

    }

  

   

    $sql = " SELECT * FROM g5_write_{$bo_table} where wr_is_comment = '0' {$searches} ";

    $result = sql_query($sql);

    $cnt = sql_num_rows($result); 

    if (!$cnt)

        alert("출력할 내역이 없습니다.");

 </p>

<p>

 

이부분이 출력되는 부분인데요

여기서 검색은 여분필드의 내용을 검색하게 됩니다.

wr_1 ~wr10, 그리고 wr_subject, as_tag

 

검색은 잘됩니다.

그리고 엑셀로 저장할때도 게시판의 내용은 모두 저장이 잘됩니다.

문제는 검색항목을 선택하고 검색을 한후에

목록에 뿌려지는 리스트만 저장을 해야하는데

어찌 해야할지.. 이것저것 다 해보는데 잘 안되네요..

 

만약에

wr_10의 여분필드가 "수원맛집" 이라고 한다면

수원맛집 선택후 검색을 하면 

수원맛집만 목록에 쫘악 나옵니다.

그래서 그것만 엑셀로 저장하려고 하는거거든요.

 

그럼 

excel.php 파일에서

if($_GET[stx])

   $searches .= and ( wr_10  = '{$_GET[stx]}')";

}

else if($_GET[stx])

   $searches .= and (wr_9 = '{$_GET[stx]}');

}

$sql = "SELECT * FROM g5_write_{$bo_table} where wr_is_comment = '0' {$searches} ";

...............

이런식으로 해주는데 안되는데요.

어떻게 하면 검색된 내용만 엑셀로 저장이 될런지요....

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
M
5년 전

올려주신 조건문은 확인 한번 해보셔야 하겠네요.. 중복이라..

조건 분기실 꺼면 아래처럼 해보세요.

</p>

<p>//1번예제 - 조건으로 분기..</p>

<p>if($_GET['분기시키는 변수'])</p>

<p>   $searches .= and ( wr_10  LIKE '%{$_GET[stx]}%')";</p>

<p>}else{</p>

<p>   $searches .= and (wr_9 LIKE '%{$_GET[stx]}%');</p>

<p>}</p>

<p>$sql = "SELECT * FROM g5_write_{$bo_table} where wr_is_comment = '0' {$searches} ";</p>

<p> </p>

<p>//2번예제 - 분기 없이 AND +</p>

<p>if($_GET['분기시키는 변수'])</p>

<p>   $searches .= and ( wr_10  LIKE '%{$_GET[stx]}%')";</p>

<p>   $searches .= and (wr_9 LIKE '%{$_GET[stx]}%');</p>

<p>}</p>

<p>$sql = "SELECT * FROM g5_write_{$bo_table} where wr_is_comment = '0' {$searches} ";</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

레드페퍼스

말씀 감사합니다. 

KAIKAI 님 말씀처럼 해보았는데 

쿼리에 문제가 있는지 먹히지가 않네요.

암튼 이것저것 다시 해봐야 하듯..

감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

문제는 검색항목을 선택하고 검색을 한후에

목록에 뿌려지는 리스트만 저장을 해야하는데

<----- 목록을 만들기 위해서 쿼리를 실행하는 부분을 복사해서 그대로 코드를 만들면 될텐데....

 

검색 조건이 분명하지않지만 8행에서 wr_11 = '{$_GET[stx]}' 다음에

or wr_10 = '{$_GET[stx]}' 추가하면 될 것 처럼 보이는군요

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인