Hallo Forum,
ich komme an einer - für euch vermutlich ganz einfachen - Stelle nicht weiter. Mein Vorhaben: Ich gebe etwas in das Inputfenster ein und mir werden entsprechende Einträge (sowie Google) angeboten und ich wähle eins davon aus. Das funktioniert auch soweit problemlos. Nur möchte ich gerne, dass nach der Auswahl eines der angebotenen Einträge weitere Daten aus der Datenbank geholt und angezeigt werden. So ungefähr:
Image 1.png
Dazu bedarf es wahrscheinlich nur einer kleinen Modifikation der folgenden Datei:
(readdata.php
(index.php)
(db.php)
Danke für die Hilfe.
ich komme an einer - für euch vermutlich ganz einfachen - Stelle nicht weiter. Mein Vorhaben: Ich gebe etwas in das Inputfenster ein und mir werden entsprechende Einträge (sowie Google) angeboten und ich wähle eins davon aus. Das funktioniert auch soweit problemlos. Nur möchte ich gerne, dass nach der Auswahl eines der angebotenen Einträge weitere Daten aus der Datenbank geholt und angezeigt werden. So ungefähr:
Image 1.png
Dazu bedarf es wahrscheinlich nur einer kleinen Modifikation der folgenden Datei:
(readdata.php
PHP-Code:
<?php
require_once("db.php");
$db_handle = new DBController();
if(!empty($_POST["keyword"])) {
$query ="SELECT * FROM country WHERE country_name like '" . $_POST["keyword"] . "%' ORDER BY country_name LIMIT 0,6";
$result = $db_handle->runQuery($query);
if(!empty($result)) {
?>
<ul id="country-list">
<?php
foreach($result as $country) {
?>
<li onClick="selectCountry('<?php echo $country["country_name"]; ?>');"><?php echo $country["country_name"]; ?></li>
<?php } ?>
</ul>
<?php } } ?>
PHP-Code:
<html>
<head>
<TITLE>jQuery AJAX Autocomplete with example</TITLE>
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$("#search-box").keyup(function(){
$.ajax({
type: "POST",
url: "readdata.php",
data:'keyword='+$(this).val(),
beforeSend: function(){
$("#search-box").css("background","#FFF url(LoaderIcon.gif) no-repeat 165px");
},
success: function(data){
$("#suggesstion-box").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
});
});
function selectCountry(val) {
$("#search-box").val(val);
$("#suggesstion-box").hide();
}
</script>
</head>
<body>
<div class="frmSearch">
<input type="text" id="search-box" placeholder="Country Name" />
<div id="suggesstion-box"></div>
</div>
</body>
</html>
PHP-Code:
<?php
class DBController {
private $host = "localhost";
private $user = "username";
private $password = "password";
private $database = "database_name";
private $conn;
function __construct() {
$this->conn = $this->connectDB();
}
function connectDB() {
$conn = mysqli_connect($this->host,$this->user,$this->password,$this->database);
return $conn;
}
function runQuery($query) {
$result = mysqli_query($this->conn,$query);
while($row=mysqli_fetch_assoc($result)) {
$resultset[] = $row;
}
if(!empty($resultset))
return $resultset;
}
function numRows($query) {
$result = mysqli_query($this->conn,$query);
$rowcount = mysqli_num_rows($result);
return $rowcount;
}
}
?>
Danke für die Hilfe.
Kommentar