2016-12-22 4 views
0

Ich versuche JSON zu verwenden Suchbegriffe aus der mysql Datenbank in php vorschlagen, aber wenn ich etwas in das Eingabefeld eingeben, werden alle Ergebnisse aus der Datenbank zeigen und sie sind nicht abhängig vom eingegebenen Text verfeinert werden.automatische Vervollständigung mit JSON, PHP & MYSQL nicht zu verfeinern Ergebnisse

Hier ist meine html/php UI Seite:

<!-- Start of content --> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
<script> 
$(function() { 
    $("#searchText").autocomplete({ 
     source: 'includes/functions/json_search.php', 
     minLength:'2' 
    }); 
}); 
</script> 



<div class="ui-widget"> 
    <label for="searchText">Search the menu: </label> 
    <input id="searchText" name="searchText"> 
</div> 

Hier ist meine php:

<?php 
include_once ("../../config/init.php"); 

//get search term 
$searchTerm = $_GET['searchText']; 

//get matched data from menu table 
$query = $connection->query("SELECT * FROM menu WHERE name LIKE '%".$searchTerm."%' ORDER BY name ASC"); 
while ($row = $query->fetch_assoc()) { 
    $data[] = $row['name']; 
} 

//return json data 
echo json_encode($data); 

?> 

kann jemand empfehlen, warum es nicht die Ergebnisse einschränken? Dank

+0

Verwenden Sie Ajax für Batter Antwort – Gulshan

Antwort

1
//get search term 
$searchTerm = $_GET['searchText']; 

sollte sein:

$searchTerm = $_GET['term']; 

Per jqueryui autocomplete doc

Die automatische Vervollständigung Plugin die Ergebnisse nicht gefiltert, sondern eine Abfrage-String mit einem Begriff Feld hinzugefügt, die die server- Side-Skript sollte zum Filtern der Ergebnisse verwenden.

+0

Großartig, das hat funktioniert –

Verwandte Themen