Aide avec une recherche en direct AJAX PHP et MYSQL !
-
11-09-2019 - |
Question
j'essaie de créer une recherche en direct Ajax pour mon site Web.Je peux actuellement interroger la base de données pour les titres et les afficher dans ma recherche (voir Fig 1.0), mais je dois les rendre sélectionnables afin que lorsque vous les sélectionnez, la valeur d'entrée soit définie sur ce titre, un peu comme dans la recherche Wikipdia. Recherche Wikipédia.L'exemple de Wikipédia est essentiellement ce que je recherche.Toute aide est la bienvenue.
Merci, Chl UK
Ma recherche jusqu'à présent http://www.webquark.co.uk/Search.bmp
Figure 1.0
CODE:Recherche dans la base de données PHP
<?
// Get value coming from request
$search = mysql_real_escape_string ($_GET['search']);
// Connect to DB
mysql_connect("localhost", "****", "****") or die(mysql_error()) ;
mysql_select_db("*****") or die(mysql_error()) ;
$result = mysql_query("SELECT * FROM dbArticle WHERE title LIKE '%$search%' OR type LIKE '%$search%' OR username LIKE '%$search%'");
while($row = mysql_fetch_array($result))
// Check if name exists in table
if (!empty($row['title'])) {
echo "".$row['title']."<br />";}
if (!empty($row['type'])) {
echo "".$row['type']."<br />";}
if (!empty($row['username'])) {
echo "".$row['username']."<br />";}
//Close connection
mysql_close();
?>
CODE : Entrée de recherche PHP
<div id="navSearch">
<form method="post" action="index.php?pageContent=search">
<li><input type="text" maxlength="30" size="22" name="search" onkeyup="send_requestSearch(this);"/> </li>
<li><input type="submit" value="Search" name="submit"/></li>
<div class="liveSearch" id="livesearch"></div>
</form>
Si vous avez besoin de voir mon Javascript, faites-le-moi savoir.
La solution
Le contrôle que vous recherchez est appelé suggester. Essayez Google pour "suggestion ajax". Vous trouverez quelques tutoriels sur la façon de le faire. Voici une:
Autres conseils
Vous devrez probablement activer JavaScript pour chaque résultat de recherche renvoyé afin qu'avec un OnClick, il remplisse sa valeur dans le texte d'entrée.Avoir l'élément de saisie de texte identifié par un id
-property aiderait à le cibler un peu.Je suis sûr que vous pouvez comprendre le reste.J'ai commencé à aimer JQuery avec exactement ce genre de tâches.
Vous souhaitez aussi probablement avoir les résultats pour avoir la règle CSS "cursor: pointer
" pour qu'il ressemble à un élément cliquable.