마이페이지 포인트에서 검색 기능을 추가하려고 하는데요.
본문
안녕하세요? 항상 도움을 받고 있습니다. 감사합니다.
마이페이지에서 포인트 윈도우 창에서 검색 기능을 추가하려고 합니다.
point.skin.php 에서 검색 폼을 추가해주었습니다.
<form method="post" action="point.php" id="searchForm">
<input type="date" id="startDate" name="startDate">
<input type="date" id="endDate" name="endDate">
<label for="keyword">검색어:</label>
<input type="text" id="keyword" name="keyword" autocomplete="off" required>
<button type="submit" id="btn_search">검색</button>
</form>
처음에는 폼을 추가하고 point.skin.php 에서 검색 처리를 하려고 했는데 코드를 보니까 bbs/point.php 에서 처리를 하더라고요.
그래서 bbs/point.php 에서 해당 코드를 추가해주었습니다.
// POST 요청일 때 검색어와 기간을 받아옵니다
$startDate = isset($_POST['startDate']) ? $_POST['startDate'] : '';
$endDate = isset($_POST['endDate']) ? $_POST['endDate'] : '';
$keyword = isset($_POST['keyword']) ? $_POST['keyword'] : '';
// 검색어와 기간을 이용하여 검색결과를 출력합니다
if($startDate && $endDate) {
$sql = "SELECT * FROM g5_point WHERE po_content LIKE '%" . $keyword . "%' AND po_datetime BETWEEN '" . $startDate . "' AND '" . $endDate . "'";
} else {
$sql = "SELECT * FROM g5_point WHERE po_content LIKE '%" . $keyword . "%'";
}
그런데 이렇게 하면 .. 찾은 검색 결과를 출력하려고 할때 point.skin.php 에서 어떻게 처리를 해야할지 모르겠습니다 ㅠㅠ 너무 기초적인 질문인데 .. 어떻게 해야할까요?
답변 2
검색폼 아래에 다음 과 같이 적용하면 되지 않을까 생각합니다.
예를 들어 테이블 형태로 할 경우
<table>
<thead>
<tr>
<th>제목</th>
<th>내용</th>
<th>날짜</th>
</tr>
</thead>
<tbody>
<?php
// 검색 결과를 출력하는 SQL 쿼리 실행
// $sql 변수에 이미 검색에 필요한 SQL 쿼리가 저장되어 있어야 합니다.
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
// 검색 결과를 출력하는 부분
echo "<tr>";
echo "<td>{$row['제목열이름']}</td>";
echo "<td>{$row['내용열이름']}</td>";
echo "<td>{$row['날짜열이름']}</td>";
echo "</tr>";
}
?>
</tbody>
</table>
Point.php 에서 제대로 했다면 스킨에서는 딱히 검색폼에 변수 input 추가하는것 외에는 할 것이 없을 것입니다..