특정 필드 기준 정렬,, 어렵네요

특정 필드 기준 정렬,, 어렵네요

QA

특정 필드 기준 정렬,, 어렵네요

본문

datetime  wr_1  wr_2 wr_3 ----------wr_7 wr_8  wr_9  wr_10 이렇게 있는데요..

 

*7~10까지는 임의로 날짜가 들어있습니다.

 

그리고 위처럼 글쓴날짜를 기간검색하여 현재 엑셀로 다운받고 있습니다.

 

 

문:

게시판이 기본적으로 글쓴 날짜를 기준으로 정렬되잖아요,,

그런데 이것을  wr_7~10까지 필드중에 

 

오늘날짜가 들어있는 필드의  리스트만 정렬하여 엑셀로 다운받고 싶은데 어떻게 하면 될가요?

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

네개의 값중 한개만 있어도 다운된다라..... 음.

일단 list.skin.php에서 엑셀 다운로드 되는 부분에 링크를 넘겨주어야 겠지요

 
if($list[$i]['wr_7']) $exlink = "&wr_7=".$list[$i]['wr_7'];
if($list[$i]['wr_8']) $exlink = "&wr_8=".$list[$i]['wr_8'];
if($list[$i]['wr_9']) $exlink = "&wr_9=".$list[$i]['wr_9'];
if($list[$i]['wr_10']) $exlink = "&wr_10=".$list[$i]['wr_10'];
 

가령 엑셀이 excel.php파일이라면

<a href="excel.php?<?=$exlink?$exlink:"";?>">엑셀다운로드</a> 

이런식으로 엑셀페이지로 갈 버튼에 이처럼 링크를 만들어서 넘기면 해당값들 모두 검색이 가능하겠지요

이렇게 list.skin.php에서 넘긴 값을 엑셀에서 받아서 값이 있는지를 검색하고 조건을 걸어야 겠지요

 
if($wr_7) ~~~
if($wr_8) ~~~
if($wr_9) ~~~
if($wr_10) ~~~ 
 

그 부분은 게시판에서 하는게 아니고 엑셀 파일로 변환하는 php파일에서 하시면 됩니다

어차피 엑셀로 다운받기를 하면 엑셀변환용 php파일에서 하는거니까요

그 파일에서 게시판 불러오는 쿼리에서 order by에 원하는 필드를 넣으세요 

학생님~ 그부분 고치니 바로 되네요...좋은거 배워갑니다. 감사합니다.
한가지만 더 여쭙고 싶습니다..
 
wr_7번 필드에 대해서 검색하니 좌르륵 잘됩니다.
그런데...
다음의 필드에는 날짜가 들어있습니다.
wr_7, wr_8, wr_9, wr_10중 어느 필드든 검색하는 기간의 날짜만 들어있으면 데이터가 다운되도록 하려면 어떻게 할 수 있을지요,,,즉 wr_7만 검색하지 않고 wr_7~10까지 검색한다는 말입니다.
 
소스는 이렇게 되어 있네여..알려주시면 감사하겠습니다.
 
if($t1_start || $t1_end){
 
if($t1_start){ 
$t1_start=preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "$1-$2-$3", $t1_start);
$where[] = " wr_7 >= '$t1_start' ";
$qstr.="&t1_start=$t1_start";
}
if($t1_end){
$t1_end =preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "$1-$2-$3", $t1_end);
if($t1_start) $sql_period.=" and ";
$where[] = "wr_7 <= '$t1_end' ";
$qstr.="&t1_end=$t1_end";
  }
 
}

if(count($where) > 0){
$sql_order = ' order by wr_datetime';
$sql_search = @implode(' AND ', $where);
    $sql = " select distinct wr_parent from $write_table where $sql_search $sql_order";
} else {
$sql_order = " order by wr_num, wr_reply ";
$sql = " select * from $write_table where wr_is_comment = 0 $sql_order ";
}

/*echo $sql;
exit;*/

답변을 작성하시기 전에 로그인 해주세요.
전체 123,681 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT