Avec l'augmentation de la demande de messagerie instantanée, le système de chat en direct développé par PHP est progressivement devenu un module important dans les sites Web et les applications. Pour améliorer l'expérience utilisateur, la fonction de recherche sur les antécédents de chat est devenue particulièrement critique. Cet article présentera comment créer des fonctions de recherche dans PHP Chat System et affichera les résultats de recherche de manière bien.
Nous créons une interface d'entrée utilisateur via la technologie HTML et JavaScript, et utilisons AJAX pour soumettre des demandes de mots clés au backend de manière asynchrone pour réaliser une expérience de recherche sans actualisation:
<input type="text" id="search-input">
<button onclick="search()">recherche</button>
<script>
function search() {
var keyword = document.getElementById("search-input").value;
// Ajax请求获取recherche结果
// ...
}
</script>
Le backend exploite principalement la base de données via PDO, filtre le contenu contenant des mots clés utilisateur à partir des enregistrements de chat et renvoie enfin des données dans JSON:
<?php
// Connectez-vous à la base de données
$pdo = new PDO('mysql:host=localhost;dbname=chat', 'root', 'password');
// 获取recherche关键词
$keyword = $_POST['keyword'];
// mettre en œuvreSQLRequête floue
$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);
// retourJSONDonnées de format
header('Content-Type: application/json');
echo json_encode($results);
Après avoir obtenu les données renvoyées par le backend, le frontend construit dynamiquement la liste de résultats via JavaScript pour afficher le contenu de chat correspondant:
<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>
Tant que le frontal envoie une demande, le back-end PHP répondra aux données de liste de résultats. Le processus complet est efficace et la structure est claire, et elle convient à divers systèmes de chat en direct:
<?php
// Connectez-vous à la base de données
$pdo = new PDO('mysql:host=localhost;dbname=chat', 'root', 'password');
// Obtenez des mots clés
$keyword = $_POST['keyword'];
// recherche匹配内容
$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);
// SortirJSONRésultats du format
header('Content-Type: application/json');
echo json_encode($results);
Grâce à l'explication de cet article, nous implémentons systématiquement un module de recherche et d'affichage d'enregistrements de chat complet. Cette fonction améliore non seulement le caractère pratique du système de chat, mais optimise également l'efficacité d'accès de l'utilisateur des informations historiques. Lorsque les développeurs construisent un système de chat en temps réel, ils peuvent étendre de manière flexible plus de capacités interactives en fonction de la structure ci-dessus, telles que le filtrage temporel, la mise en évidence des mots clés et d'autres fonctions.