latest에서 sfl=wr_8 과 sfl=wr_5 모두 불러오려면 어떻게 해야 되나요? 정보
latest에서 sfl=wr_8 과 sfl=wr_5 모두 불러오려면 어떻게 해야 되나요?본문
아래는 sca,sfl,stx를 사용하여 게시물을 불러오는 latest입니다.
<?
include_once("$g4[path]/skin/latest/latest_top/inc_lib.php");
echo latest_top('latest_top', 'oneroom', 8, 30, $sca, wr_8, 2, wr_5, $stx);
?>
이런식으로 wr_8,wr_5 모두 불러오도록 만들고 싶은데요.
sfl을 중복으로 사용할 수 없어서,
마지막 sfl=wr_5만 적용이 되어 버려요.
sfl=wr_8 과 sfl=wr_5 모두 작동하여 불러오도록 하려면 어떻게 해야 되나요?
<?
if (!defined('_GNUBOARD_')) exit;
function latest_top($skin_dir="", $bo_table, $rows=10, $subject_len=40, $sca="", $sfl = "", $stx="", $sfl = "", $stx="")
{
global $g4;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";
$list = array();
$sql_search = "";
$sql = " select * from {$g4['board_table']} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름]
if ($sca || $stx)
{
$sql_search = get_sql_search($sca, $sfl, $stx);
$sql_search = "and ".$sql_search;
}
$sql = " select * from $tmp_write_table where wr_is_comment = 0 $sql_search order by wr_num limit 0, $rows ";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
}
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
?>
<?
include_once("$g4[path]/skin/latest/latest_top/inc_lib.php");
echo latest_top('latest_top', 'oneroom', 8, 30, $sca, wr_8, 2, wr_5, $stx);
?>
이런식으로 wr_8,wr_5 모두 불러오도록 만들고 싶은데요.
sfl을 중복으로 사용할 수 없어서,
마지막 sfl=wr_5만 적용이 되어 버려요.
sfl=wr_8 과 sfl=wr_5 모두 작동하여 불러오도록 하려면 어떻게 해야 되나요?
<?
if (!defined('_GNUBOARD_')) exit;
function latest_top($skin_dir="", $bo_table, $rows=10, $subject_len=40, $sca="", $sfl = "", $stx="", $sfl = "", $stx="")
{
global $g4;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";
$list = array();
$sql_search = "";
$sql = " select * from {$g4['board_table']} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름]
if ($sca || $stx)
{
$sql_search = get_sql_search($sca, $sfl, $stx);
$sql_search = "and ".$sql_search;
}
$sql = " select * from $tmp_write_table where wr_is_comment = 0 $sql_search order by wr_num limit 0, $rows ";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
}
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
?>
추천
1
1
댓글 6개
wr_8, wr_5 내용도 검색하게하시려는게 맞다면..
추가적으로 검색을 하시려는 필드가 있다면 원하는 변수를 등록해주어야한다는거 잊으셨나봅니다.
우선은 /bbs/list.php 에 보시면..
if ($sca || $stx) 부분을 wr_8 과 wr_5 을 추가하신다고 하셨으니까..
if ($sca || $stx || $stx_wr_5 || $stx_wr_8)
if ($sca && $stx) 부분도 똑같이 변경..
$sql_search = get_sql_search($sca, $sfl, $stx, $sop); 을 $sql_search = get_sql_search($sca, $stx_wr_5, $stx_wr_8, $sfl, $stx, $sop); 으로 수정합니다.
/lib/common.lib.php
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and') 에서
function get_sql_search($search_ca_name, $stx_wr_5, $stx_wr_8, $search_field, $search_text, $search_operator='and')
변경전
if (!$search_text) {
if ($search_ca_name) {
return $str;
} else {
return '0';
}
}
변경후
/* 검색에필요기준 */
if($stx_wr_5) {
if($str) $str .= " and ";
$str .= " wr_5 = '".$stx_wr_5."'";
}
if($stx_wr_8) {
if($str) $str .= " and ";
$str .= " wr_8 = '".$stx_wr_8."'";
}
if (!$search_text) {
if ($search_ca_name || $stx_wr_5 || $stx_wr_8) {
return $str;
} else {
return '0';
}
}
검색은 $stx_wr_5 $stx_wr_8 을 사용하시면되죠..
추가적으로 검색을 하시려는 필드가 있다면 원하는 변수를 등록해주어야한다는거 잊으셨나봅니다.
우선은 /bbs/list.php 에 보시면..
if ($sca || $stx) 부분을 wr_8 과 wr_5 을 추가하신다고 하셨으니까..
if ($sca || $stx || $stx_wr_5 || $stx_wr_8)
if ($sca && $stx) 부분도 똑같이 변경..
$sql_search = get_sql_search($sca, $sfl, $stx, $sop); 을 $sql_search = get_sql_search($sca, $stx_wr_5, $stx_wr_8, $sfl, $stx, $sop); 으로 수정합니다.
/lib/common.lib.php
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and') 에서
function get_sql_search($search_ca_name, $stx_wr_5, $stx_wr_8, $search_field, $search_text, $search_operator='and')
변경전
if (!$search_text) {
if ($search_ca_name) {
return $str;
} else {
return '0';
}
}
변경후
/* 검색에필요기준 */
if($stx_wr_5) {
if($str) $str .= " and ";
$str .= " wr_5 = '".$stx_wr_5."'";
}
if($stx_wr_8) {
if($str) $str .= " and ";
$str .= " wr_8 = '".$stx_wr_8."'";
}
if (!$search_text) {
if ($search_ca_name || $stx_wr_5 || $stx_wr_8) {
return $str;
} else {
return '0';
}
}
검색은 $stx_wr_5 $stx_wr_8 을 사용하시면되죠..
ㅎㅎ 이건 질문답변으로 가야할 내용이네요
제가 정신없이 다니다가 글쓰기를 잘못 눌렀어요.;;
m7102님 답변 감사드려요.ㅎ~
m7102님 답변 감사드려요.ㅎ~
ㅎㅎ 야근하시나봐요..
공대그녀님도 엄청 열심히하시는듯 ! 다같이 화이팅해요
화이팅! ㅋㅋㅋ