Ich habe ein Auto-Vervollständigen-Suchfeld, die als Benutzer einen Namen, werden ten Ergebnisse in der Dropdown-Liste angezeigt.PHP MySQL zum automatischen Vervollständigung
Das alles funktioniert gut, und zeigt die Daten, wie es sollte.
Ich warte jedes Ergebnis eine Verbindung jedoch zu machen, so dass, wenn die Ergebnisse der Benutzer kann auf dem richtigen Namen klicken angezeigt, und es wird sie zu ihrem Profil zu nehmen.
Siehe Skript unten:
<input type='text' id=employees class='form-control' size="80" placeholder="Search Employees by first or last name">
search.php
$searchTerm = $_GET['term'];
$sql = mysql_query ("SELECT name_first, employee_id, unique_id, name_last FROM hr_employees WHERE name_first LIKE '{$searchTerm}%' OR name_first LIKE '{$searchTerm}%' OR employee_id LIKE '{$searchTerm}%'");
$array = array();
while ($row = mysql_fetch_array($sql)) {
$array[] = array (
'value' => $row['name_first'].' '.$row['name_last'].' ('.$row['employee_id'].')',
);
}
//RETURN JSON ARRAY
echo json_encode ($array);
Auf den richtigen Benutzer die Auswahl, möchte ich den Benutzer page.php gerichtet de id = $ employee_id
Ist das möglich?
JavaScript
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
JavaScript
<script>
$(function() {
$("#employees").autocomplete({
source: 'search.php'
});
});
</script>
Verwenden $ row [ 'id'] als Array-Index anstelle von 'Wert'. Dann haben Sie diese Informationen auf der Client-Seite getrennt. Veröffentlichen Sie Ihren JavaScript-Code für weitere Anweisungen. – colburton
Verwenden Sie nicht die veralteten mysql_ * '- Funktionen. Sie sind seit PHP 5.5 veraltet und wurden seit PHP 7 vollständig entfernt. Verwenden Sie stattdessen PDO oder MySQLi. Sie sind auch weit offen für SQL Injection-Angriffe und sollten Prepared Statements verwenden (die Sie mit PDO und MySQLi verwenden können). –
@colburton - Danke, könntest du mir zeigen, wie ich das in einer Antwort machen würde? – Shane