게시판 정렬이 안됩니다. 정보
게시판 정렬이 안됩니다.본문
아래 분류안된다는 내용으로 글올렸는데...
다시 내용을 정리해 글 올립니다.
게시판에 특정 카테고리로 정렬하면 사진 처럼, 글번호에 "-" 가 붙고,
모든 리스트가 그냥 그대로 다 보입니다.
특정 스킨만 그런게 아니고, 모든 스킨이 다 그러는데
희안하게..."phosay_gallery_multi" 스킨만 제대로 작동합니다.
죄송한데 한가지만 더 질문 드릴께요.
만일 이거 해결안되면 ...그누보드 다시 설치까지 고려중인데
그누보드 재설치때,
MySQL DB 과 data 폴더만 백업해 놓고,,..
그누보드 재설치때 install은 안하고,
MySQL DB 과 data 폴더 이외에 앞서 지웠던 파일들만
FTP 로 올려주면 안되나요?
부탁드립니다.
댓글 전체
table(게시판)을 새로 생성후 스킨을 적용해 보세요. ^^
만약 정상이면... db table bacup 해서 새로 setting 하셨을꺼 같고요.
만약 그래도 안되면... g4_board <<--- 이 table 확인해 보세요.
=============================================================
그누보드의 경우 분류를 g4_board 에 내장되어있습니다.
새로 생성된 테이블에 문제가 없는경우에는 g4_board 를 확인할 필요가 있을듯..
만약 정상이면... db table bacup 해서 새로 setting 하셨을꺼 같고요.
만약 그래도 안되면... g4_board <<--- 이 table 확인해 보세요.
=============================================================
그누보드의 경우 분류를 g4_board 에 내장되어있습니다.
새로 생성된 테이블에 문제가 없는경우에는 g4_board 를 확인할 필요가 있을듯..
뮤죤님...
게시판 다시 만들어봐도...마찬가지네요.
g4_board 은 phpMyadmin (2.9.11)들어가서 확인하는거 맞죠?
봐도...뭐가 뭔지 알아야죠 ㅡ,.ㅡ
혹시...g4_board 만 따로 저장해서 보여드리면 안될까요?
저장방식이 엑셀이나 PDF, sql , txt 등등 있던데요...(pdf 는 저장후 안읽어지네요..)
꼭 좀 해결해 주세요...부탁해요.....please ~ !
게시판 다시 만들어봐도...마찬가지네요.
g4_board 은 phpMyadmin (2.9.11)들어가서 확인하는거 맞죠?
봐도...뭐가 뭔지 알아야죠 ㅡ,.ㅡ
혹시...g4_board 만 따로 저장해서 보여드리면 안될까요?
저장방식이 엑셀이나 PDF, sql , txt 등등 있던데요...(pdf 는 저장후 안읽어지네요..)
꼭 좀 해결해 주세요...부탁해요.....please ~ !
기나긴 삽질끝에...원인을 알아냈습니다.
DB 다 뒤업고 그누보드 다시 설치했습니다. ㅜㅜ
백업해놨던, 지난번 문제일으켰던 그누보드의 bbs폴더를 다시 풀어,
새로 설치한 BBS 폴더에 덮어씌워봤더니...그문제가 다시 발생하더군요. ㅋㅋㅋ
그래서 언뜻 list.php이 눈에 띄길래...그것으로 테스트 해봤더니..............바로 그놈이더군요.
문제 있는 list.php 와 문제 없는 list.php 를 비교해본다고 몇분동안 째려봐도...
눈만 아프고...뭐가 차이가 있는건지 잘 모르겠네요. 문제일으킨 파일 올려봅니다.
차이가 뭔지 좀 알려주세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 분류 사용 여부
$is_category = false;
if ($board[bo_use_category])
{
$is_category = true;
$category_location = "./board.php?bo_table=$bo_table&sca=";
$category_option = get_category_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}
$sop = strtolower($sop);
if ($sop != "and" && $sop != "or")
$sop = "and";
// 분류 선택 또는 검색어가 있다면
if ($sca || $stx)
{
$sql_search = 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;
$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
}
else
{
$sql_search = "";
$total_count = $board[bo_count_write];
}
$total_page = ceil($total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id]))
$is_checkbox = true;
// 정렬에 사용하는 QUERY_STRING
$qstr2 = "bo_table=$bo_table&sop=$sop";
if ($board[bo_gallery_cols])
$td_width = (int)(100 / $board[bo_gallery_cols]);
// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst)
{
if ($board[bo_sort_field])
$sst = $board[bo_sort_field];
else
$sst = "wr_num, wr_reply";
$sod = "";
}
$sql_order = " order by $sst $sod ";
if ($sca || $stx)
{
$sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
else if($_GET['issu_date']){
$where_date="and date_format( wr_datetime, '%Y-%m-%d' ) = '".$_GET['issu_date']."'";
$sql = "select * from $write_table where wr_is_comment = 0 $where_date $sql_order limit $from_record, $board[bo_page_rows]";
}
{
$sql = " select * from $write_table where wr_is_comment = 0 $sql_order limit $from_record, $board[bo_page_rows] ";
}
$result = sql_query($sql);
// 년도 2자리
$today2 = $g4[time_ymd];
$list = array();
$i = 0;
if (!$sca && !$stx)
{
$arr_notice = split("\n", trim($board[bo_notice]));
for ($k=0; $k<count($arr_notice); $k++)
{
$row = sql_fetch(" select * from $write_table where wr_id = '$arr_notice[$k]' ");
if (!$row[wr_id])
continue;
$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
$list[$i][is_notice] = true;
$i++;
}
}
$k = 0;
while ($row = sql_fetch_array($result))
{
// 검색일 경우 wr_id만 얻었으므로 다시 한행을 얻는다
if ($sca || $stx)
$row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent]' ");
$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
if (strstr($sfl, "subject"))
$list[$i][subject] = search_font($stx, $list[$i][subject]);
$list[$i][is_notice] = false;
//$list[$i][num] = number_format($total_count - ($page - 1) * $board[bo_page_rows] - $k);
$list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;
$i++;
$k++;
}
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page=");
$list_href = '';
$prev_part_href = '';
$next_part_href = '';
if ($sca || $stx)
{
$list_href = "./board.php?bo_table=$bo_table";
//if ($prev_spt >= $min_spt)
$prev_spt = $spt - $config[cf_search_part];
if (isset($min_spt) && $prev_spt >= $min_spt)
$prev_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$prev_spt";
$next_spt = $spt + $config[cf_search_part];
if ($next_spt < 0)
$next_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$next_spt";
}
$write_href = "";
if ($member[mb_level] >= $board[bo_write_level])
$write_href = "./write.php?bo_table=$bo_table";
$nobr_begin = $nobr_end = "";
if (preg_match("/gecko|firefox/i", $_SERVER['HTTP_USER_AGENT'])) {
$nobr_begin = "<nobr style='display:block; overflow:hidden;'>";
$nobr_end = "</nobr>";
}
// RSS 보기 사용에 체크가 되어 있어야 RSS 보기 가능 061106
$rss_href = "";
if ($board[bo_use_rss_view])
$rss_href = "./rss.php?bo_table=$bo_table";
$stx = get_text(stripslashes($stx));
include_once("$board_skin_path/list.skin.php");
?>
DB 다 뒤업고 그누보드 다시 설치했습니다. ㅜㅜ
백업해놨던, 지난번 문제일으켰던 그누보드의 bbs폴더를 다시 풀어,
새로 설치한 BBS 폴더에 덮어씌워봤더니...그문제가 다시 발생하더군요. ㅋㅋㅋ
그래서 언뜻 list.php이 눈에 띄길래...그것으로 테스트 해봤더니..............바로 그놈이더군요.
문제 있는 list.php 와 문제 없는 list.php 를 비교해본다고 몇분동안 째려봐도...
눈만 아프고...뭐가 차이가 있는건지 잘 모르겠네요. 문제일으킨 파일 올려봅니다.
차이가 뭔지 좀 알려주세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 분류 사용 여부
$is_category = false;
if ($board[bo_use_category])
{
$is_category = true;
$category_location = "./board.php?bo_table=$bo_table&sca=";
$category_option = get_category_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}
$sop = strtolower($sop);
if ($sop != "and" && $sop != "or")
$sop = "and";
// 분류 선택 또는 검색어가 있다면
if ($sca || $stx)
{
$sql_search = 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;
$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
}
else
{
$sql_search = "";
$total_count = $board[bo_count_write];
}
$total_page = ceil($total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id]))
$is_checkbox = true;
// 정렬에 사용하는 QUERY_STRING
$qstr2 = "bo_table=$bo_table&sop=$sop";
if ($board[bo_gallery_cols])
$td_width = (int)(100 / $board[bo_gallery_cols]);
// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst)
{
if ($board[bo_sort_field])
$sst = $board[bo_sort_field];
else
$sst = "wr_num, wr_reply";
$sod = "";
}
$sql_order = " order by $sst $sod ";
if ($sca || $stx)
{
$sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
else if($_GET['issu_date']){
$where_date="and date_format( wr_datetime, '%Y-%m-%d' ) = '".$_GET['issu_date']."'";
$sql = "select * from $write_table where wr_is_comment = 0 $where_date $sql_order limit $from_record, $board[bo_page_rows]";
}
{
$sql = " select * from $write_table where wr_is_comment = 0 $sql_order limit $from_record, $board[bo_page_rows] ";
}
$result = sql_query($sql);
// 년도 2자리
$today2 = $g4[time_ymd];
$list = array();
$i = 0;
if (!$sca && !$stx)
{
$arr_notice = split("\n", trim($board[bo_notice]));
for ($k=0; $k<count($arr_notice); $k++)
{
$row = sql_fetch(" select * from $write_table where wr_id = '$arr_notice[$k]' ");
if (!$row[wr_id])
continue;
$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
$list[$i][is_notice] = true;
$i++;
}
}
$k = 0;
while ($row = sql_fetch_array($result))
{
// 검색일 경우 wr_id만 얻었으므로 다시 한행을 얻는다
if ($sca || $stx)
$row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent]' ");
$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
if (strstr($sfl, "subject"))
$list[$i][subject] = search_font($stx, $list[$i][subject]);
$list[$i][is_notice] = false;
//$list[$i][num] = number_format($total_count - ($page - 1) * $board[bo_page_rows] - $k);
$list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;
$i++;
$k++;
}
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page=");
$list_href = '';
$prev_part_href = '';
$next_part_href = '';
if ($sca || $stx)
{
$list_href = "./board.php?bo_table=$bo_table";
//if ($prev_spt >= $min_spt)
$prev_spt = $spt - $config[cf_search_part];
if (isset($min_spt) && $prev_spt >= $min_spt)
$prev_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$prev_spt";
$next_spt = $spt + $config[cf_search_part];
if ($next_spt < 0)
$next_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$next_spt";
}
$write_href = "";
if ($member[mb_level] >= $board[bo_write_level])
$write_href = "./write.php?bo_table=$bo_table";
$nobr_begin = $nobr_end = "";
if (preg_match("/gecko|firefox/i", $_SERVER['HTTP_USER_AGENT'])) {
$nobr_begin = "<nobr style='display:block; overflow:hidden;'>";
$nobr_end = "</nobr>";
}
// RSS 보기 사용에 체크가 되어 있어야 RSS 보기 가능 061106
$rss_href = "";
if ($board[bo_use_rss_view])
$rss_href = "./rss.php?bo_table=$bo_table";
$stx = get_text(stripslashes($stx));
include_once("$board_skin_path/list.skin.php");
?>