게시판 리스트 검색시 정보
게시판 리스트 검색시
본문
리스트에서 엑셀 출력시 증상 :
(다운받은 엑셀에서 보이는 출력이 아니라 엑셀파일 다운 되는 과정 입니다.)
이미지처럼 셀렉트값으로 검색시 리스트에는 보이는데 엑셀 출력 데이터를 못찾구요
우측에 접수자 이름 검색폼에서 접수자 이름을 검색하면 정상 파일생성이 되고 있습니다.
필드는 wr_2 wr_3 wr_name 쓰는데요.
wr_name 키워드만 인식해서 파일생성이 되고
wr_2 wr_3 에 해당되는 키워드를 입력하고 검색을 하면 리스트 노출은 되는데
엑셀출력이 데이터가 없다고 나옵니다.
아래는 해당 쿼리 입니다...어디가 문제 일까요 ..
$sql = " select * from $g4[write_prefix]$bo_table ";
if ($sfl || $stx) {
$sql .= " where $sfl like '%$stx%' ";
}else{
$sql .= "";
}
if ($sst){
$sql .= " order by $sst $sod ";
}else{
$sql .=" order by wr_datetime asc ";
}
도움좀 부탁드립니다..
(다운받은 엑셀에서 보이는 출력이 아니라 엑셀파일 다운 되는 과정 입니다.)
이미지처럼 셀렉트값으로 검색시 리스트에는 보이는데 엑셀 출력 데이터를 못찾구요
우측에 접수자 이름 검색폼에서 접수자 이름을 검색하면 정상 파일생성이 되고 있습니다.
필드는 wr_2 wr_3 wr_name 쓰는데요.
wr_name 키워드만 인식해서 파일생성이 되고
wr_2 wr_3 에 해당되는 키워드를 입력하고 검색을 하면 리스트 노출은 되는데
엑셀출력이 데이터가 없다고 나옵니다.
아래는 해당 쿼리 입니다...어디가 문제 일까요 ..
$sql = " select * from $g4[write_prefix]$bo_table ";
if ($sfl || $stx) {
$sql .= " where $sfl like '%$stx%' ";
}else{
$sql .= "";
}
if ($sst){
$sql .= " order by $sst $sod ";
}else{
$sql .=" order by wr_datetime asc ";
}
도움좀 부탁드립니다..
댓글 전체
$sql .= " where $sfl like '%$stx%' ";
윗 대입문에서 where $sfl가 where wr_name='$조건' 이런 형식이여야하는데.
$sfl가 대입된 변수입니까?
where 구문을 확인해보세요. 그래도 안되면 폼문과 sql문이있는 소스 모두 올려보세요.
윗 대입문에서 where $sfl가 where wr_name='$조건' 이런 형식이여야하는데.
$sfl가 대입된 변수입니까?
where 구문을 확인해보세요. 그래도 안되면 폼문과 sql문이있는 소스 모두 올려보세요.
진심으로 정말 감사드립니다.
소중한 시간을 저에게 도움주신것
너무 감사드립니다.
소중한 시간을 저에게 도움주신것
너무 감사드립니다.
엑셀변환파일소스 입니다.
<?
include_once("./_common.php");
$sql = " select * from $g4[write_prefix]$bo_table ";
if ($sfl || $stx){
$sql .= " where $sfl like '%$stx%' ";
}else{
$sql .= " where wr_is_comment = 0 $sql_order ";
}
if ($sst){
$sql .= " order by $sst $sod ";
}else{
$sql .=" order by wr_datetime asc ";
}
$result = sql_query($sql);
$cnt = @mysql_num_rows($result);
if (!$cnt)
alert("출력할 내역이 없습니다.");
header('Content-Type: application/vnd.ms-excel');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename="list' . date("ymd", time()) . '.xls"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('content-transfer-encoding: binary');
echo "<html><head>";
echo "<meta http-equiv='Content-Type' content='application/vnd.ms-excel;charset=utf-8'>";
echo "</head><body>";
echo "<table border=1 style='font-family:돋움; font-size:10pt;'><tr>";
echo "
<td style=font-weight:bold;>번호</td>
<td style=font-weight:bold;>신청일</td>
<td style=font-weight:bold;>참가부문</td>
<td style=font-weight:bold;>작품제목</td>
<td style=font-weight:bold;>이름</td>
<td style=font-weight:bold;>학교학년(학원명)</td>
<td style=font-weight:bold;>핸드폰</td>
<td style=font-weight:bold;>주소</td>
<td style=font-weight:bold;>연락처1</td>
<td style=font-weight:bold;>연락처2</td>
</tr>\n";
$i = 0;
while($data=mysql_fetch_array($result)) {
$i++;
$tmp = explode("|",$data[wr_1]);
// 날짜에 월,일 구분 "-" 넣기
$tmp_date = substr($tmp[0],0,4).-substr($tmp[0],4,2).-substr($tmp[0],6,2);
echo "<tr>\n";
echo "<tr height=25> ";
echo "<td>$i</td>";
echo "<td>$data[wr_datetime]</td>";
echo "<td>$data[wr_2]-$data[wr_3]</td>";
echo "<td>$data[wr_subject]</td>";
echo "<td>$data[wr_name]</td>";
echo "<td>$tmp[9]</td>";
echo "<td>$tmp[1]$data[wr_10]-$tmp[2]-$tmp[3]</td>";
echo "<td>($tmp[5]-$tmp[6]) $tmp[7] $tmp[8]</td>";
echo "<td>$tmp[4]</td>";
echo "<td>$tmp[10]</td>";
echo "</tr>";
}
echo "</table>";
echo "</body></html>";
if ($i == 0)
alert("자료가 없습니다.");
exit;
?>
검색폼 입니다.
<SCRIPT language=JavaScript src="<?=$board_skin_path?>/common.js"></SCRIPT>
<script language="javascript">
<!--//-- 스킨용 : 여유필드 다중셀렉트창
//-- 여유필드 중복셀렉트가 가능하게 해주는 함수
//-- 수정작업시, 아래 함수와 함께 write.skin.php에 사용된 '여유필드(wr_?)이름과 셀렉트문'을 가져와 붙이면 바로적용가능
//-- 단, 반드시 게시물리스트(list.skin.php)에 여유필드값이 게시물에 주어져야함.
//-- 중복필드가 필요없는 경우 'document.fsearch.srch_type.value'삭제, 셀렉트문삭제, value값에서 필드명삭제
function onChangeKey2() {
var wr_2 = document.fsearch.wr_2.value;
var wr_3 = document.fsearch.wr_3.value;
var stx = document.fsearch.stx.value;
if (wr_2 == "" && wr_3 == "" && stx == "") {
alert("검색조건을 선택하세요!!");
return false;
}
else {
if (wr_2 == "" && wr_3 == "" && stx == "") {
document.fsearch.stx.value = stx;
}
else if ((wr_2 != "" )&& (wr_2 == "" || wr_3 == "" || stx == "")) {
document.fsearch.stx.value = wr_2 + " " + wr_3 + " " + stx;
}
else {
document.fsearch.stx.value = wr_2 + "" + wr_3 + "" + stx;
}
document.fsearch.submit();
}
}
//-->
</script>
<form name=fsearch method="get" style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sfl value="wr_2||wr_3||wr_name">
<input type=hidden name=sop value='and'>
<a href="/bbs/board.php?bo_table=request">전체</a> |
<SELECT class=ed onchange=setSubSelect() name=wr_2 itemname='대분류'>
<OPTION value="">== 개 인 ==</OPTION>
<OPTION value="한국무용(전통)">한국무용(전통)</OPTION>
<OPTION value="한국무용(창작)">한국무용(창작)</OPTION>
<OPTION value="현대무용(규정)">현대무용(규정)</OPTION>
<OPTION value="현대무용(창작)">현대무용(창작)</OPTION>
<OPTION value="발레(클래식)">발레(클래식)</OPTION>
<OPTION value="발레(창작)">발레(창작)</OPTION>
<OPTION value="">== 단 체 ==</OPTION>
<OPTION value="발레">발레</OPTION>
<OPTION value="현대무용">현대무용</OPTION>
<OPTION value="한국무용">한국무용</OPTION>
</SELECT>
<SELECT class=ed name=wr_3 itemname='소분류'>
<OPTION value="" >::참가부문::</OPTION>
</SELECT>
<!--
<SELECT class=box2 name=ca_name itemname='유형별' style="font-family:굴림; font-size:11; color:#81007f; background-color:#eed8ef;">
<OPTION value="" >유형선택</OPTION>
<OPTION value="일반예식">일반예식</OPTION>
<OPTION value="호텔" >호텔</OPTION>
<OPTION value="회사강당" >회사강당</OPTION>
<OPTION value="컨벤션홀" >컨벤션홀</OPTION>
<OPTION value="전통혼례" >전통혼례</OPTION>
<OPTION value="야외예식" >야외예식</OPTION>
<OPTION value="소형웨딩홀">소형웨딩홀</OPTION>
<OPTION value="공공기관/회관" >공공기관/회관</OPTION>
<OPTION value="전통혼례" >전통혼례</OPTION>
<OPTION value="야외예식" >야외예식</OPTION>
</SELECT>
<SELECT class=box2 name=wr_3 itemname='메뉴별' style="font-family:굴림; font-size:11; color:#81007f; background-color:#eed8ef;">
<OPTION value="" >메뉴선택</OPTION>
<OPTION value="한정식">한정식</OPTION>
<OPTION value="양정식" >양정식</OPTION>
<OPTION value="부페" >부페</OPTION>
<OPTION value="일식" >일식</OPTION>
<OPTION value="이태리" >이태리</OPTION>
<OPTION value="도시락" >도시락</OPTION>
<OPTION value="기타">기타</OPTION>
</SELECT>
<SELECT class=box2 name=wr_4 itemname='메뉴가격별' style="font-family:굴림; font-size:11; color:#81007f; background-color:#eed8ef;">
<OPTION value="" >가격선택</OPTION>
<option value='1'>~10,000</option>
<option value='2'>10,000~15,000</option>
<option value='3'>15,000~17,000</option>
<option value='4'>17,000~19,000</option>
<option value='5'>19,000~21,000</option>
<option value='6'>21,000~25,000</option>
<option value='7'>25,000~30,000</option>
<option value='8'>30,000~40,000</option>
<option value='9'>40,000~50,000</option>
<option value='10'>50,000~60,000</option>
<option value='11'>60,000~70,000</option>
<option value='12'>70,000~80,000</option>
<option value='13'>80,000~100,000</option>
<option value='14'>25,000~30,000</option>
<option value='15'>30,000~40,000</option>
<option value='16'>40,000~50,000</option>
<option value='17'>기타</option>
</SELECT>
-->
<input type=image onClick="onChangeKey2();return false;" src="<?=$board_skin_path?>/img/bt_search.gif" align=absmiddle border=0>
접수자이름으로 검색 : <input type=text name=stx maxlength=30 size=40 class=ed itemname="검색어" value="">
<input type=image onClick="onChangeKey2();return false;" src="<?=$board_skin_path?>/img/bt_search.gif" align=absmiddle border=0>
</form>
<?
include_once("./_common.php");
$sql = " select * from $g4[write_prefix]$bo_table ";
if ($sfl || $stx){
$sql .= " where $sfl like '%$stx%' ";
}else{
$sql .= " where wr_is_comment = 0 $sql_order ";
}
if ($sst){
$sql .= " order by $sst $sod ";
}else{
$sql .=" order by wr_datetime asc ";
}
$result = sql_query($sql);
$cnt = @mysql_num_rows($result);
if (!$cnt)
alert("출력할 내역이 없습니다.");
header('Content-Type: application/vnd.ms-excel');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: attachment; filename="list' . date("ymd", time()) . '.xls"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('content-transfer-encoding: binary');
echo "<html><head>";
echo "<meta http-equiv='Content-Type' content='application/vnd.ms-excel;charset=utf-8'>";
echo "</head><body>";
echo "<table border=1 style='font-family:돋움; font-size:10pt;'><tr>";
echo "
<td style=font-weight:bold;>번호</td>
<td style=font-weight:bold;>신청일</td>
<td style=font-weight:bold;>참가부문</td>
<td style=font-weight:bold;>작품제목</td>
<td style=font-weight:bold;>이름</td>
<td style=font-weight:bold;>학교학년(학원명)</td>
<td style=font-weight:bold;>핸드폰</td>
<td style=font-weight:bold;>주소</td>
<td style=font-weight:bold;>연락처1</td>
<td style=font-weight:bold;>연락처2</td>
</tr>\n";
$i = 0;
while($data=mysql_fetch_array($result)) {
$i++;
$tmp = explode("|",$data[wr_1]);
// 날짜에 월,일 구분 "-" 넣기
$tmp_date = substr($tmp[0],0,4).-substr($tmp[0],4,2).-substr($tmp[0],6,2);
echo "<tr>\n";
echo "<tr height=25> ";
echo "<td>$i</td>";
echo "<td>$data[wr_datetime]</td>";
echo "<td>$data[wr_2]-$data[wr_3]</td>";
echo "<td>$data[wr_subject]</td>";
echo "<td>$data[wr_name]</td>";
echo "<td>$tmp[9]</td>";
echo "<td>$tmp[1]$data[wr_10]-$tmp[2]-$tmp[3]</td>";
echo "<td>($tmp[5]-$tmp[6]) $tmp[7] $tmp[8]</td>";
echo "<td>$tmp[4]</td>";
echo "<td>$tmp[10]</td>";
echo "</tr>";
}
echo "</table>";
echo "</body></html>";
if ($i == 0)
alert("자료가 없습니다.");
exit;
?>
검색폼 입니다.
<SCRIPT language=JavaScript src="<?=$board_skin_path?>/common.js"></SCRIPT>
<script language="javascript">
<!--//-- 스킨용 : 여유필드 다중셀렉트창
//-- 여유필드 중복셀렉트가 가능하게 해주는 함수
//-- 수정작업시, 아래 함수와 함께 write.skin.php에 사용된 '여유필드(wr_?)이름과 셀렉트문'을 가져와 붙이면 바로적용가능
//-- 단, 반드시 게시물리스트(list.skin.php)에 여유필드값이 게시물에 주어져야함.
//-- 중복필드가 필요없는 경우 'document.fsearch.srch_type.value'삭제, 셀렉트문삭제, value값에서 필드명삭제
function onChangeKey2() {
var wr_2 = document.fsearch.wr_2.value;
var wr_3 = document.fsearch.wr_3.value;
var stx = document.fsearch.stx.value;
if (wr_2 == "" && wr_3 == "" && stx == "") {
alert("검색조건을 선택하세요!!");
return false;
}
else {
if (wr_2 == "" && wr_3 == "" && stx == "") {
document.fsearch.stx.value = stx;
}
else if ((wr_2 != "" )&& (wr_2 == "" || wr_3 == "" || stx == "")) {
document.fsearch.stx.value = wr_2 + " " + wr_3 + " " + stx;
}
else {
document.fsearch.stx.value = wr_2 + "" + wr_3 + "" + stx;
}
document.fsearch.submit();
}
}
//-->
</script>
<form name=fsearch method="get" style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sfl value="wr_2||wr_3||wr_name">
<input type=hidden name=sop value='and'>
<a href="/bbs/board.php?bo_table=request">전체</a> |
<SELECT class=ed onchange=setSubSelect() name=wr_2 itemname='대분류'>
<OPTION value="">== 개 인 ==</OPTION>
<OPTION value="한국무용(전통)">한국무용(전통)</OPTION>
<OPTION value="한국무용(창작)">한국무용(창작)</OPTION>
<OPTION value="현대무용(규정)">현대무용(규정)</OPTION>
<OPTION value="현대무용(창작)">현대무용(창작)</OPTION>
<OPTION value="발레(클래식)">발레(클래식)</OPTION>
<OPTION value="발레(창작)">발레(창작)</OPTION>
<OPTION value="">== 단 체 ==</OPTION>
<OPTION value="발레">발레</OPTION>
<OPTION value="현대무용">현대무용</OPTION>
<OPTION value="한국무용">한국무용</OPTION>
</SELECT>
<SELECT class=ed name=wr_3 itemname='소분류'>
<OPTION value="" >::참가부문::</OPTION>
</SELECT>
<!--
<SELECT class=box2 name=ca_name itemname='유형별' style="font-family:굴림; font-size:11; color:#81007f; background-color:#eed8ef;">
<OPTION value="" >유형선택</OPTION>
<OPTION value="일반예식">일반예식</OPTION>
<OPTION value="호텔" >호텔</OPTION>
<OPTION value="회사강당" >회사강당</OPTION>
<OPTION value="컨벤션홀" >컨벤션홀</OPTION>
<OPTION value="전통혼례" >전통혼례</OPTION>
<OPTION value="야외예식" >야외예식</OPTION>
<OPTION value="소형웨딩홀">소형웨딩홀</OPTION>
<OPTION value="공공기관/회관" >공공기관/회관</OPTION>
<OPTION value="전통혼례" >전통혼례</OPTION>
<OPTION value="야외예식" >야외예식</OPTION>
</SELECT>
<SELECT class=box2 name=wr_3 itemname='메뉴별' style="font-family:굴림; font-size:11; color:#81007f; background-color:#eed8ef;">
<OPTION value="" >메뉴선택</OPTION>
<OPTION value="한정식">한정식</OPTION>
<OPTION value="양정식" >양정식</OPTION>
<OPTION value="부페" >부페</OPTION>
<OPTION value="일식" >일식</OPTION>
<OPTION value="이태리" >이태리</OPTION>
<OPTION value="도시락" >도시락</OPTION>
<OPTION value="기타">기타</OPTION>
</SELECT>
<SELECT class=box2 name=wr_4 itemname='메뉴가격별' style="font-family:굴림; font-size:11; color:#81007f; background-color:#eed8ef;">
<OPTION value="" >가격선택</OPTION>
<option value='1'>~10,000</option>
<option value='2'>10,000~15,000</option>
<option value='3'>15,000~17,000</option>
<option value='4'>17,000~19,000</option>
<option value='5'>19,000~21,000</option>
<option value='6'>21,000~25,000</option>
<option value='7'>25,000~30,000</option>
<option value='8'>30,000~40,000</option>
<option value='9'>40,000~50,000</option>
<option value='10'>50,000~60,000</option>
<option value='11'>60,000~70,000</option>
<option value='12'>70,000~80,000</option>
<option value='13'>80,000~100,000</option>
<option value='14'>25,000~30,000</option>
<option value='15'>30,000~40,000</option>
<option value='16'>40,000~50,000</option>
<option value='17'>기타</option>
</SELECT>
-->
<input type=image onClick="onChangeKey2();return false;" src="<?=$board_skin_path?>/img/bt_search.gif" align=absmiddle border=0>
접수자이름으로 검색 : <input type=text name=stx maxlength=30 size=40 class=ed itemname="검색어" value="">
<input type=image onClick="onChangeKey2();return false;" src="<?=$board_skin_path?>/img/bt_search.gif" align=absmiddle border=0>
</form>