반응형
기존 포스팅에서 작성자, 제목, 내용, 날짜로 검색할 수 있는 기능을 구현했었다.
게시판(2) : [모의해킹_실습] - Php로 웹 개발하기 : 게시판 만들기(2) - Search
게시판(3) : [모의해킹_실습] - Php로 웹 개발하기 : 게시판 만들기(3) - Option Search
select option으로 네 가지 선택사항을 보여줬는데, 그중 날짜 검색은 아예 기간을 정해서 조회할 수 있도록 만들 것이다.
<select name = "option_val">
<option value = "username">작성자</option>
<option value = "title">제목</option>
<option value = "content">내용</option>
</select>
option은 위처럼 3가지로 수정해주고, 기간을 설정해서 조회할 수 있는 기능을 구현해보자.
이모티콘은 fontawesome에서 불러왔고, input type는 date로 주었다.
<i class="far fa-calendar-alt"></i><input type = "date" name ="date_from" />
<i class="far fa-calendar-alt"></i><input type = "date" name = "date_to" />
CSS는 무시하고, 기능부터 구현해보자.
type를 date로 주면, 자동으로 년/월/일 값을 입력받는다.
날짜를 선택한 후, 값을 출력해보자.
echo $_POST['date_from'].'</br>';
echo $_POST['date_to'];
기존에 MySQL에 저장했던 날짜의 형식과 똑같이 출력되기 때문에, 그대로 사용할 수 있다.
쿼리에서 날짜 사이의 row를 출력할 때는 between을 사용하면 된다.
select * from table where date between "날짜1" and "날짜2";
날짜 선택 여부에 따라 검색을 할 때의 SQL 쿼리문이 달라지므로, [board.php]의 검색 부분에 SQL 쿼리를 수정해줬다.
$start_date = $_POST['date_from'];
$end_date = $_POST['date_to'];
if($start_date && $end_date){
$sql = "SELECT * FROM board where $column like '%$find%' and date between '$start_date' and '$end_date';";
}
else $sql = "SELECT * FROM board where $column like '%$find%';";
$result = mysqli_query($conn, $sql);
test가 2020/09/15일과 2021/09/15 사이에 작성한 글을 검색해보았다.
잘 나오는 것을 확인할 수 있다!
반응형
'WEB HACKING > 웹 해킹[실습]' 카테고리의 다른 글
Php로 웹 개발하기 : 마이페이지(2) (0) | 2021.12.10 |
---|---|
Php로 웹 개발하기 : 마이페이지(1) (1) | 2021.12.09 |
Php로 웹 개발하기 : 게시판(15) - 파일 다운로드 (0) | 2021.12.06 |
Php로 웹 개발하기 : 게시판(14) - 파일 삭제 (0) | 2021.12.03 |
Php로 웹 개발하기 : 게시판(13) - 파일 확인 (0) | 2021.12.02 |
댓글