인스턴트 메시징에 대한 수요가 증가함에 따라 PHP가 개발 한 라이브 채팅 시스템은 웹 사이트 및 응용 프로그램에서 점차 중요한 모듈이되었습니다. 사용자 경험을 향상시키기 위해 채팅 기록 검색 기능이 특히 중요해졌습니다. 이 기사는 PHP 채팅 시스템에서 검색 기능을 구축하는 방법을 소개하고 검색 결과를 좋은 방법으로 표시합니다.
HTML 및 JavaScript 기술을 통해 사용자 입력 인터페이스를 만들고 AJAX를 사용하여 Keyword 요청을 백엔드에 비동기 적으로 제출하여 새로 고침없는 검색 경험을 달성합니다.
<input type="text" id="search-input">
<button onclick="search()">찾다</button>
<script>
function search() {
var keyword = document.getElementById("search-input").value;
// Ajax请求获取찾다结果
// ...
}
</script>
백엔드는 주로 PDO를 통해 데이터베이스를 운영하고 채팅 레코드에서 사용자 키워드를 포함하는 컨텐츠를 필터링하고 마지막으로 JSON에서 데이터를 반환합니다.
<?php
// 데이터베이스에 연결하십시오
$pdo = new PDO('mysql:host=localhost;dbname=chat', 'root', 'password');
// 获取찾다关键词
$keyword = $_POST['keyword'];
// 구현하다SQL퍼지 쿼리
$stmt = $pdo->prepare("SELECT * FROM chat_records WHERE content LIKE ?");
$search_keyword = "%{$keyword}%";
$stmt->bindParam(1, $search_keyword);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 반품JSON형식 데이터
header('Content-Type: application/json');
echo json_encode($results);
백엔드가 반환 한 데이터를 얻은 후 Frontend는 JavaScript를 통해 결과 목록을 동적으로 빌드하여 일치하는 채팅 컨텐츠를 표시합니다.
<ul id="search-results"></ul>
<script>
function search() {
var keyword = document.getElementById("search-input").value;
$.post('/search.php', { keyword: keyword }, function(results) {
var list = "";
for (var i = 0; i < results.length; i++) {
list += "<li>" + results[i].content + "</li>";
}
document.getElementById("search-results").innerHTML = list;
});
}
</script>
프론트 엔드가 요청을 보내는 한 PHP 백엔드는 결과 목록 데이터에 응답합니다. 완전한 프로세스는 효율적이고 구조가 명확하며 다양한 라이브 채팅 시스템에 적합합니다.
<?php
// 데이터베이스에 연결하십시오
$pdo = new PDO('mysql:host=localhost;dbname=chat', 'root', 'password');
// 키워드를 얻으십시오
$keyword = $_POST['keyword'];
// 찾다匹配内容
$stmt = $pdo->prepare("SELECT * FROM chat_records WHERE content LIKE ?");
$search_keyword = "%{$keyword}%";
$stmt->bindParam(1, $search_keyword);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 산출JSON형식 결과
header('Content-Type: application/json');
echo json_encode($results);
이 기사의 설명을 통해 전체 채팅 레코드 검색 및 디스플레이 모듈을 체계적으로 구현합니다. 이 기능은 채팅 시스템의 실용성을 향상시킬뿐만 아니라 사용자의 과거 정보에 대한 액세스 효율성을 최적화합니다. 개발자가 실시간 채팅 시스템을 구축하면 시간 필터링, 키워드 강조 및 기타 기능과 같은 위의 구조에 따라보다 대화 형 기능을 유연하게 확장 할 수 있습니다.