2023.07.15 ·
조회 10,366
html 파일에서 input으로 받은 검색어(txt)를 php에서 full text search로 검색
<p>html 예제:</p><p></p><p></p><p></p><p><!DOCTYPE html></p><p><html></p><p><head></p><p> <title>Full-Text Search 예제</title></p><p></head></p><p><body></p><p><br></p><p><h2>Full-Text Search</h2></p><p><form action="search.php" method="post"></p><p> 검색어: <input type="text" name="searchQuery" required></p><p> <input type="submit" value="검색"></p><p></form></p><p><br></p><p></body></p><p></html></p><div>php 파일 예제:</div><div><br></div><div><div><div>// MariaDB 접속 정보</div><div>$servername = "localhost";</div><div>$username = "your_username";</div><div>$password = "your_password";</div><div>$dbname = "your_database";</div><div><br></div><div>// 사용자로부터 검색어 입력 받기</div><div>if (isset($_POST['searchQuery'])) {</div><div> $searchQuery = $_POST['searchQuery'];</div><div><br></div><div> // 데이터베이스 연결</div><div> $conn = new mysqli($servername, $username, $password, $dbname);</div><div><br></div><div> // 연결 확인</div><div> if ($conn->connect_error) {</div><div> die("Connection failed: " . $conn->connect_error);</div><div> }</div><div><br></div><div> // 검색어에 대해 Full-Text Search 쿼리 작성 및 실행</div><div> $sql = "SELECT * FROM articles WHERE MATCH(title, content) AGAINST ('$searchQuery' IN BOOLEAN MODE)";</div><div> $result = $conn->query($sql);</div><div><br></div><div> if ($result->num_rows > 0) {</div><div> // 검색 결과 출력</div><div> while ($row = $result->fetch_assoc()) {</div><div> echo "ID: " . $row["id"] . ", Title: " . $row["title"] . ", Content: " . $row["content"] . "<br>";</div><div> }</div><div> } else {</div><div> echo "검색 결과가 없습니다.";</div><div> }</div><div><br></div><div> // 연결 종료</div><div> $conn->close();</div><div>}</div><div>?></div></div></div>