Moin,
ich habe eine Suche die Einträge aus der Datenbank holt und abgleicht.
Ich habe einen Eintrag der heisst z.B. "Alle Apfelbäume haben grüne Blätter".
Jetzt gebe ich in die Suche z.B.: "Apfelbäume Blätter alle grüne" ein.
Hier soll er mir nun auch den Eintrag zeigen aber macht er leider nicht, da die Wörter in einer anderen Reihenfolge sind.
Wie schaffe ich es, dass er auch ohne richtige Reihenfolge diesen Eintrag mit auflistet?
Hier ist mein bisheriger Code:
Suche
Script
PHP
ich habe eine Suche die Einträge aus der Datenbank holt und abgleicht.
Ich habe einen Eintrag der heisst z.B. "Alle Apfelbäume haben grüne Blätter".
Jetzt gebe ich in die Suche z.B.: "Apfelbäume Blätter alle grüne" ein.
Hier soll er mir nun auch den Eintrag zeigen aber macht er leider nicht, da die Wörter in einer anderen Reihenfolge sind.
Wie schaffe ich es, dass er auch ohne richtige Reihenfolge diesen Eintrag mit auflistet?
Hier ist mein bisheriger Code:
Suche
HTML:
<input id="satz" name="satz" type="text" placeholder="..." autofocus />
Script
Code:
$(document).ready(function(){
$("#satz").autocomplete({
minLength: 3,
async: false,
source: function(request, response) {
$.ajax({
url: "suche.php",
data: request,
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
}
});
PHP
Code:
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'root';
$dbname = 'datenbank';
try {
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
}
catch(PDOException $e) {
echo $e->getMessage();
}
$return_arr = array();
if ($conn)
{
$ac_term = "%".utf8_decode($_POST['term'])."%";
$query = "SELECT * FROM saetze where Satz like '%{$ac_term}%' ORDER BY Satz";
$result = $conn->prepare($query);
$result->bindValue(":term",$ac_term);
$result->execute();
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$row_array['value'] = $row['Satz'];
array_push($return_arr,$row_array);
}
}
$conn = null;
echo json_encode($return_arr);
?>