Recherche d'enregistrement de chat et affichage des résultats de recherche dans le système de chat en temps réel PHP
Introduction :
Avec la prédominance des réseaux sociaux et la popularité de la communication en ligne, les systèmes de chat en temps réel sont devenus un élément indispensable de la vie quotidienne des gens. et travailler. La fonction de base d'un système de chat en temps réel est de permettre aux utilisateurs de discuter en temps réel, mais avec l'augmentation des enregistrements de chat, la recherche rapide et précise des enregistrements de chat précédents est devenue une fonction nécessaire.
Cet article expliquera comment implémenter la recherche d'enregistrements de discussion et l'affichage des résultats de recherche dans le système de discussion en temps réel PHP, et fournira des exemples de code pertinents.
1. Conception de la base de données
Avant de mettre en œuvre la recherche d'enregistrements de discussion, vous devez d'abord concevoir une structure de table de base de données appropriée. Une structure de table d'enregistrement de chat courante peut inclure les champs suivants :
二, Pour implémenter la fonction de recherche
Interface utilisateur
Tout d'abord, vous devez ajouter un champ de recherche et un bouton de recherche à l'interface utilisateur. Les utilisateurs peuvent saisir des mots-clés dans le champ de recherche, puis cliquer sur le bouton de recherche pour déclencher la fonction de recherche.
<form action="search.php" method="post"> <input type="text" name="keyword" placeholder="输入关键词"> <input type="submit" value="搜索"> </form>
// 连接数据库 $host = 'localhost'; $dbname = 'chat_system'; $username = 'root'; $password = ''; try { $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo "数据库连接失败: " . $e->getMessage(); } // 获取用户输入的关键词 $keyword = $_POST['keyword']; // 构建SQL查询语句 $sql = "SELECT * FROM chat_records WHERE message LIKE :keyword"; $query = $conn->prepare($sql); $query->bindValue(':keyword', '%' . $keyword . '%'); $query->execute(); // 获取搜索结果 $results = $query->fetchAll(PDO::FETCH_ASSOC); // 显示搜索结果 foreach ($results as $result) { echo $result['sender'] . ' ' . $result['message'] . '<br>'; }
Dans le code ci-dessus, connectez-vous d'abord à la base de données ; puis obtenez les mots-clés saisis par l'utilisateur ; puis construisez une instruction de requête SQL et utilisez l'instruction LIKE pour effectuer une recherche floue dans les enregistrements de discussion contenant des mots-clés et enfin afficher les résultats de la recherche par ; parcourir les résultats de la recherche.
3. Affichage des résultats de recherche
Lorsque l'utilisateur clique sur le bouton de recherche, il accède à la page search.php et affiche les résultats de la recherche. Voici un exemple de code pour afficher les résultats de recherche :
<?php if (count($results) > 0): ?> <?php foreach ($results as $result): ?> <div class="search-result"> <p><?php echo $result['sender']; ?>: <?php echo $result['message']; ?></p> <p><?php echo $result['timestamp']; ?></p> </div> <?php endforeach; ?> <?php else: ?> <p>没有找到相关的聊天记录。</p> <?php endif; ?>
Dans le code ci-dessus, déterminez d'abord si le nombre de résultats de recherche est supérieur à 0. S'il est supérieur à 0, il parcourra et affichera les résultats de recherche ; est égal à 0, il affichera « Aucun enregistrement de discussion pertinent trouvé ».
Conclusion :
Grâce aux étapes ci-dessus, nous pouvons implémenter les fonctions de recherche d'enregistrements de discussion et d'affichage des résultats de recherche dans le système de discussion en temps réel PHP. Les utilisateurs peuvent rechercher rapidement et avec précision l’historique des discussions précédentes. Bien entendu, il ne s’agit que d’un exemple d’implémentation de base, et vous pouvez l’ajuster et l’améliorer en fonction de vos besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!