Mein Problem ist, dass ich in einer Datenbank nach einem Eintrag suchen möge die beginnend mit dem Anfang und nicht Mitte oder am Ende mit. Ich habe andere StackOverflow-Antworten gesehen, aber diejenigen, die sich mit Jquery's Autocomplete beschäftigen, nehmen ein Array als Quellparameter.JQuery die automatische Vervollständigung verwenden, für den Eintritt zu Beginn des Begriffs Suche mit externer Quelle
Nehmen wir an, ich habe ein Lehrbuch mit der id = Schule:
<input type="text" id="school">
In meiner Beispieldatenbank Tabelle habe ich folgende Schulen:
- Donald Trump Elementary School
- Barack Obama Mitte Schule
- Franklin Delano Roosevelt Gymnasium
- Theodore Roosevelt Technische Akademie
- John Adams Middle School
- Andrew Jackson Middle School
- Andrew Johnson Day Care
- Bill Clinton Prison Education Program
- Abraham Lincoln Academy of Fine Arts
Wenn ich nur geben Ein 'A', was zurückgegeben wird, ist im Grunde eine beliebige Zeichenfolge mit einem A darin.
Was ich will zurück sind:
- Andrew Jackson Middle School
- Andrew Johnson Day Care
- Abraham Lincoln Academy of Fine Arts
$('#school').each(function (i, el) {
var that = $(el);
that.autocomplete({
source: "src/php/extraction.php"
, minLength: 2
, select: function (event, ui) {
info = ui.item.label;
$.ajax({
url: 'foobar.php'
, type: 'POST',
data: {
term : info }
, success: function (data) {
// do stuff }
});
} // end of select function
});
});
In meinem foobar.php, an die die Autocomplete sendet Ich den folgenden Code haben:
if (isset($_GET['term'])) {
$return_arr = array();
try {
$stmt = $conn->prepare('SELECT School_Name FROM SOME_TABLE WHERE School_Name LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while ($row = $stmt->fetch()) {
$return_arr[] = ucwords(strtolower($row['School_Name']));
}
} catch (PDOException $e) {
echo 'ERROR: '.$e->getMessage();
}
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
}
Wow. Haha, vielen Dank – Joseph
Kein Problem, markieren Sie einfach als akzeptiert, um anderen mit dem gleichen Problem zu helfen. –