/***********************************
* 변수명
* $limit : 쪽당 보여줄 게시물 수
* $page : 쪽 수
* $total_article : 총 게시물 수
* $total_page : 총 쪽 수
************************************/
// DB에 연결하는 공통 함수 포함
include 'db_connect.php';
$page = $_GET[page];
$limit = 10;
//검색옵션 관련
$search_option = $_POST[search_option];
$keyword = $_POST[keyword];
if(strlen($keyword) > 0) {
switch ($search_option) {
case "all":
$sql = "SELECT *FROM board
WHERE (title LIKE '%$keyword%' AND reply_no=0) OR (content LIKE '%$keyword%' reply_no=0)
ORDER BY main_no DESC";
break;
case "title":
$sql = "SELECT *FROM board
WHERE title LIKE '%$keyword%' AND reply_no=0
ORDER BY main_no DESC";
break;
case "name":
$sql = "SELECT *FROM board
WHERE name LIKE '%$keyword%' AND reply_no=0
ORDER BY main_no DESC";
break;
}
} else
//DB로부터 값을 가져온다.
$sql= "SELECT * FROM board WHERE reply_no = 0 ORDER BY main_no DESC";
//쿼리 후 결과를 저장한다.
$result = mysql_query($sql);
//테이블에 있는 총 갯수를 가져온다.
$total_article = mysql_num_rows($result);
if(empty($page))
$page = 1;
//현재 쪽에 따른 글의 첫 번째 번호
//현재 쪽이 1이면 더 이상 찾을 글이 없고,
//현재 쪽이 2라면 다음 시작글의 번호는 10이 된다.
$start_no = ($page-1)*$limit;
if($start_no > 1)
mysql_data_seek($result, $start_no);
$total_page = ceil(($total_article)/$limit);
?>
BBS
번호 |
제 목 |
작성자 |
날 짜 |
조 회 |
// 만약 검색 결과가 없다면,
if(mysql_num_rows($result) == 0)
echo "
등록된 글이 없습니다.
|
\n";
$line = 0;
//쿼리로부터 검색된 값을 배열에 저장.
while($row = mysql_fetch_array($result))
{
echo "$row[main_no] | \n";
//답변글이 있다면
if($row[depth] > 0)
echo "$row[title] ($row[depth]) | \n";
else
echo "$row[title] | \n";
echo "$row[name] | \n";
//날짜 형식을 바꾼다.
$post_date = substr($row[date], 0, 11);
echo "$post_date | \n";
echo "$row[count] | \n";
//만약 $line과 쪽당 글수의 숫자가 일치하면 while()문을 빠져나간다.
//여기선 쪽당 10개씩 보여준다.
if(++$line == $limit)
break;
}
?>
//쪽 수를 표시
for($i=1; $i <= $total_page; $i++) {
if($i == $page)
echo $i." ";
else
echo "[".$i."] ";
}
?>
|