Ich nutze für ein Suchfeld das "Plugin" Autocomplete von jquery. Die Abfrage funktioniert auch, allerdings würde ich die Resultate der Suche gerne mit einer weiteren Info aus der Datenbank verlinken.
search.php
Wie gesagt, die Suche funktioniert, ich würde aber die angezeigten Resultate gerne als Links darstellen. Dafür würde ich aus der Datenbank noch die ID abfragen, damit die Ausgabe später <a href="url/id">Resultat</a> ist. Wie gesagt, die Dokumentation hab ich mir angeschaut, aber ich habe nicht die passende Lösung für mein Problem gefunden.
PS: Wie genau funktioniert eigentlich diese [PHP] Funktion? ich will die 2 Datein eigentlich nur hervorgehoben anzeigen und nicht unleserlich in einer Zeile ausgeben
PS2: mit manuellem nachbearbeiten werden immerhin die Zeilensprünge richtig angezeigt, aber so ist es ja immernoch alles andere als wirklich leserlich ...
PHP-Code:
<!doctype html> <html lang="en">
<head>
<meta charset="utf-8">
<title>Demo</title>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" type="text/css" />
</head>
<body>
<form action='' method='post'>
<p><label>Country:</label><input type='text' name='country' value='' class='auto'></p>
</form>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js">
</script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
//autocomplete
$(".auto").autocomplete({
source: "search.php",
minLength: 1 });
});
</script>
</body>
</html>
PHP-Code:
<?php
define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '***');
define('DB_NAME', '***');
if (isset($_GET['term'])){
$return_arr = array();
try { $conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT name FROM personenliste WHERE name LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
$return_arr[] = $row['name'];
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage(); }
/* Toss back results as json encoded array. */
echo json_encode($return_arr); }
?>
PS: Wie genau funktioniert eigentlich diese [PHP] Funktion? ich will die 2 Datein eigentlich nur hervorgehoben anzeigen und nicht unleserlich in einer Zeile ausgeben
PS2: mit manuellem nachbearbeiten werden immerhin die Zeilensprünge richtig angezeigt, aber so ist es ja immernoch alles andere als wirklich leserlich ...
Kommentar