어떤 특별한 이유에 의해서 게시글의 조회수가 엉키는 경우가 있습니다.
예를 들면 스팸게시글의 침범으로 인한 ...
이렇게 되면 글 번호가 엉키면서 - 번호가 생기기도 하죠.
게시판 관리자 화면에 가면 하나씩 재설정 하는 항목이 있지만, 게시판 수가 많다면 그것도 여간 귀찮은 일이 아닐수 없습니다.
아래 프로그램은 전체 게시판을 모두 재설정하는 방법입니다.
그누보드5 / DB_table_count_reset.php 라는 이름으로 파일을 생성후 브라우저로 실행합니다.
<?php
include_once "_common.php";
$dbconn = mysqli_connect(G5_MYSQL_HOST,G5_MYSQL_USER,G5_MYSQL_PASSWORD,G5_MYSQL_DB) ;
if (!$dbconn) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
//@mysqli_query("set names utf8"); // 한글문제 생기면 주석 해제
$sql = "select * from ".$g5['board_table']." order by bo_table asc ";
$result = mysqli_query($dbconn,$sql);
while($data = mysqli_fetch_array($result)) {
$bo_table = $data["bo_table"];
//echo $data["bo_table"] ."<br>";
// 게시판의 글 수
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$bo_table." where wr_is_comment = 0 ";
$row = sql_fetch($sql);
$bo_count_write = $row['cnt'];
// 게시판의 코멘트 수
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$bo_table." where wr_is_comment = 1 ";
$row = sql_fetch($sql);
$bo_count_comment = $row['cnt'];
if (isset($_POST['proc_count'])) {
// 원글을 얻습니다.
//$sql = " select wr_id from {$g5['write_prefix']}{$bo_table} where wr_is_comment = 0 ";
$sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from ".$g5['write_prefix'].$bo_table." a, ".$g5['write_prefix'].$bo_table." b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
$result = mysqli_query($dbconn,$sql);
for ($i=0; $row=mysqli_fetch_array($result); $i++) {
/*
// 코멘트수를 얻습니다.
$sql2 = " select count(*) as cnt from {$g5['write_prefix']}$bo_table where wr_parent = '{$row['wr_id']}' and wr_is_comment = 1 ";
$row2 = sql_fetch($sql2);
*/
mysqli_query($dbconn," update ".$g5['write_prefix'].$bo_table." set wr_comment = '".$row['cnt']."' where wr_id = '".$row['wr_id']."' ");
}
}
// 공지사항에는 등록되어 있지만 실제 존재하지 않는 글 아이디는 삭제합니다.
$bo_notice = "";
$lf = "";
if ($board['bo_notice']) {
$tmp_array = explode(",", $board['bo_notice']);
for ($i=0; $i<count($tmp_array); $i++) {
$tmp_wr_id = trim($tmp_array[$i]);
$row = sql_fetch(" select count(*) as cnt from ".$g5['write_prefix'].$bo_table." where wr_id = '".$tmp_wr_id."' ");
if ($row['cnt'])
{
$bo_notice .= $lf . $tmp_wr_id;
$lf = ",";
}
}
}
$sql = " update ".$g5['board_table']."
set bo_notice = '".$bo_notice."',
bo_count_write = '".$bo_count_write."',
bo_count_comment = '".$bo_count_comment."'
where bo_table = '".$bo_table."' ";
mysqli_query($dbconn,$sql);
}
echo " 게시판의 원글수와 댓글수 재설정 완료 ";
echo mysqli_error($dbconn);
// close connection
mysqli_close($dbconn);
?>
댓글 4개
게시글 목록
| 번호 | 제목 |
|---|---|
| 24318 | |
| 24317 | |
| 24315 | |
| 24309 | |
| 24294 | |
| 24293 | |
| 24277 | |
| 24262 | |
| 24260 | |
| 24253 | |
| 24251 | |
| 24236 | |
| 24233 | |
| 24228 | |
| 24226 | |
| 24221 | |
| 24214 | |
| 24203 | |
| 24201 | |
| 24199 | |
| 24196 | |
| 24195 | |
| 24194 | |
| 24192 | |
| 24191 | |
| 24187 | |
| 24185 | |
| 24183 | |
| 24172 | |
| 24168 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기