Hallo,
ich habe mir eine Live Suche programmiert, welche die zu suchenden Namen aus der Datenbank auslist. Dies hat auch wunderbar funktionert.
ich möchte gerne, dass wenn man etwas sucht, direkt darunter sich ein menü aufklappt mit dem ergebnis (wie z. b. bei fcebook suche). bei mir erscheint die suchergebnis unten.
ich habe alles schon probiert, ich bekomme es nicht hin.
es liegt nur an der formatierung wahrscheinlich.
hier mal der code.
Auszug start.php
suchen.php
ich habe mir eine Live Suche programmiert, welche die zu suchenden Namen aus der Datenbank auslist. Dies hat auch wunderbar funktionert.
ich möchte gerne, dass wenn man etwas sucht, direkt darunter sich ein menü aufklappt mit dem ergebnis (wie z. b. bei fcebook suche). bei mir erscheint die suchergebnis unten.
ich habe alles schon probiert, ich bekomme es nicht hin.
es liegt nur an der formatierung wahrscheinlich.
hier mal der code.
Auszug start.php
PHP:
<script type="text/javascript">
function searchFor(suchbegriff){
var xmlHttp = null;
// Mozilla, Opera, Safari sowie Internet Explorer 7
if (typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
if (!xmlHttp) {
// Internet Explorer 6 und älter
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlHttp = null;
}
}
}
// Wenn das Objekt erfolgreich erzeugt wurde
if (xmlHttp) {
var url = "suche.php";
var params = "suchbegriff="+suchbegriff;
xmlHttp.open("POST", url, true);
//Headerinformationen für den POST Request
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
// Zurückgeliefertes Ergebnis wird in den DIV "ergebnis" geschrieben
document.getElementById("ergebnis").innerHTML = xmlHttp.responseText;
}
};
xmlHttp.send(params);
}
}
</script>
<input class="search" type="text" onKeyUp="(this.value.length >= 2) ? searchFor(this.value) : '';"><div id="ergebnis"></div>
suchen.php
PHP:
<?php
// Verbindung
$server = "xxxxxx";
$benutzername = "xxxxxx";
$passwort = "xxxxxx";
$datenbank = "xxxxxx";
// Server Verbindung herstellen
mysql_connect($server,$benutzername,$passwort) or
die ("Keine Verbindung moeglich");
// Datenbank Verbidung
mysql_select_db($datenbank) or
die ("Die Datenbank existiert nicht");
$tabelle = "mitglieder";
if ($_POST["suchbegriff"]){
// Mysql Abfrage wird gespeichert mit den Notwendigen Parameter
$sql = "SELECT id, name FROM ".$tabelle." WHERE name LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%')";
// Mysql Abfrage wird durchgeführt
$result = mysql_query($sql);
// Suchbegriff wird ausgegeben
echo "Sie Suchten nach: ".$_POST["suchbegriff"]."<br/><br/>";
// Ergebnis wird ausgegeben mit Zeilenumbruch
//while($row = mysql_fetch_object($result)){
//echo utf8_encode($row->Name);
//echo "<br/>";
echo'<?xml version="1.0" encoding="UTF-8"?> <ergebnis>';
while($person = mysql_fetch_object($result)) {
echo "<a href=profil.php?user=$person->id>$person->name</a>";
echo "<br>";
}
}
?>