Ich versuche, zwei der Felder in meiner Tabelle zu suchen. (Die Datenbanktabelle enthält Cocktailnamen mit Namen, Zutaten und Beschreibung) Wenn ein Benutzer seinen gewünschten Begriff in das Suchfeld eingibt, werden Autovervollständigungsergebnisse mit Ajax/jquery angegeben.Durchsuchen einer MySQL-Tabelle unter Verwendung von PHP für mehrere Felder in einem Auto-Vervollständigen-Feld
Ich habe es funktioniert suchen ein Feld (Name), aber kann nicht scheinen, es mehr als die eine zu tun (Name & Zutaten). Ein weiteres Problem ist, wenn die Ergebnisse angegeben werden (sie werden als Links angegeben). Wenn Sie sie auswählen, werden die Daten in das Eingabefeld eingefügt, anstatt Sie zur nächsten Seite zu bringen.
index.php:
<script>
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
selectFirst: true
});
});
</script>
<label>Tag:</label>
<input name="tag" type="text" id="tag" size="40"/>
autocomplete.php:
<?php
$q=$_GET['q'];
$my_data=mysql_real_escape_string($q);
$mysqli=mysqli_connect('localhost','ignitet1','password','ignitet1_WhatCocktail') or die("Database Error");
$sql="SELECT Name FROM tblCocktail WHERE Name LIKE '%$my_data%' ORDER BY Name";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error());
if($result)
{
while($row=mysqli_fetch_array($result))
{
echo "<a href=\"details.php\">";
echo $row['Name']."," , "<br />";
echo "</a>";
}
}
?>
Jede Hilfe würde geschätzt.
Nun eine Sache sicher, Sie suchen nur nach dem Valye "Name" in Ihrer Abfrage .. so ist alles, was Sie bekommen werden .. Wenn Sie zwei Felder Name und Zutaten haben, sollten Sie vielleicht in der Auswahl enthalten Anweisung und fixieren die where-Klausel, um eine OR-Klausel zu machen.WHOE NAME LIKE '% $ MY_DATA%' ODER INGREDIENTS WIE '% $ MY_DATA%' – user710502