320x100
이 글은 이곳을 참고하여 쓰여졌습니다.
오늘은 게시판에 간단한 검색 기능을 구현해 볼 것이다.
일단 index.php를 열어 검색박스용 태그를 만든다.
이 검색박스는 search_result.php로 이어진다. 이어서 search_result.php를 작성한다.
<?php
include $_SERVER['DOCUMENT_ROOT']."/BBS/db.php";
?>
<!doctype html>
<head>
<meta charset="UTF-8">
<title>게시판</title>
<link rel="stylesheet" type="text/css" href="/BBS/css/style.css" />
</head>
<body>
<div id="board_area">
<!-- 18.10.11 검색 추가 -->
<?php
/* 검색 변수 */
$catagory = $_GET['catgo'];
$search_con = $_GET['search'];
?>
<?php if($catagory=='title'){
$catname = '제목';
} else if($catagory=='name'){
$catname = '작성자';
} else if($catagory=='content'){
$catname = '내용';
} ?>
<h1><?php echo $catname; ?>:<?php echo $search_con; ?> 검색결과</h1>
<h4 style="margin-top:30px;"><a href="/BBS/index.php">홈으로</a></h4>
<table class="list-table">
<thead>
<tr>
<th width="70">번호</th>
<th width="500">제목</th>
<th width="120">글쓴이</th>
<th width="100">작성일</th>
<th width="100">조회수</th>
</tr>
</thead>
<?php
$sql2 = query("select * from board where $catagory like '%$search_con%' order by idx desc");
while($board = $sql2->fetch_array()){
$title=$board["title"];
if(strlen($title)>30)
{
$title=str_replace($board["title"],mb_substr($board["title"],0,30,"utf-8")."...",$board["title"]);
}
$sql3 = query("select * from reply where con_num='".$board['idx']."'");
$rep_count = mysqli_num_rows($sql3);
?>
<tbody>
<tr>
<td width="70"><?php echo $board['idx']; ?></td>
<td width="500">
<?php
$lockimg = "<img src='/BBS/img/lock.png' alt='lock' title='lock' with='20' height='20' />";
if($board['lock_post']=="1")
{ ?><a href='/BBS/ck_read.php?idx=<?php echo $board["idx"];?>'><?php echo $title, $lockimg;
}else{?>
<!--- 추가부분 18.08.01 --->
<?php
$boardtime = $board['date']; //$boardtime변수에 board['date']값을 넣음
$timenow = date("Y-m-d"); //$timenow변수에 현재 시간 Y-M-D를 넣음
if($boardtime==$timenow){
$img = "<img src='/BBS/img/new.png' alt='new' title='new' />";
}else{
$img ="";
}
?>
<!--- 추가부분 18.08.01 END -->
<a href='/BBS/read.php?idx=<?php echo $board["idx"]; ?>'><span style="background:yellow;"><?php echo $title; }?></span><span class="re_ct">[<?php echo $rep_count;?>]<?php echo $img; ?> </span></a></td>
<td width="120"><?php echo $board['name']?></td>
<td width="100"><?php echo $board['date']?></td>
<td width="100"><?php echo $board['hit']; ?></td>
</tr>
</tbody>
<?php } ?>
</table>
<!-- 18.10.11 검색 추가 -->
<div id="search_box2">
<form action="/BBS/page/board/search_result.php" method="get">
<select name="catgo">
<option value="title">제목</option>
<option value="name">글쓴이</option>
<option value="content">내용</option>
</select>
<input type="text" name="search" size="40" required="required"/> <button>검색</button>
</form>
</div>
</div>
</body>
</html>
이렇게 작성하면 된다.
이 부분의 쿼리에서 $search_con 변수 앞에 %는 검색 구문이라고 한다. 즉,
- %가 앞에만 붙어 있으면 해당 변수로 끝나는 결과를,
- %가 뒤에만 붙어 있으면 해당 변수로 시작하는 결과를,
- %가 앞 뒤에 붙어 있으면 해당 변수를 포함하는 결과를 가져온다고 한다.
이렇게 제작하고 게시판을 새로고침 해준다.
그러면 이렇게 검색 박스가 있다. 각 검색 카테고리로 검색을 해본다.
이렇게 각 카테고리에서의 검색이 잘 구현되었다.
'따라 공부하기 > PHP게시판 따라하기' 카테고리의 다른 글
[PHP+MySQL]게시판 만들기 10 - 새글 표시 (0) | 2020.12.09 |
---|---|
[PHP+MySQL]게시판 만들기 9 - 파일 업로드 (1) | 2020.12.08 |
[PHP+MySQL]게시판 만들기 8 - 페이지 넘버 (0) | 2020.12.07 |
[PHP+MySQL]게시판 만들기 7 - 댓글 수정 및 삭제 (0) | 2020.12.06 |
[PHP+MySQL]게시판 만들기 6 - 댓글 작성 기능 (1) | 2020.12.05 |
댓글