Hallo,
ich würde gerne bei mir eine Live Suche mit Ajax einbauen, was auch soweit funktioniert, nur ich möchte das die Suche erst beginnt wenn zum Beispiel mind. 3 Zeichen eingetragen sind. Denn es macht meiner Meinung keinen Sinn wenn die Suche bereits nach einem Buchstaben beginnt.
hier der ajax teil
das formular
und der php code
Wie erwähnt, möchte ich, dass die Suche erst beginnt wenn mind. 3 Zeichen eingegeben worden sind.
DANKE schon mal für jede Hilfe und jeden TIPP
D A N K E
ich würde gerne bei mir eine Live Suche mit Ajax einbauen, was auch soweit funktioniert, nur ich möchte das die Suche erst beginnt wenn zum Beispiel mind. 3 Zeichen eingetragen sind. Denn es macht meiner Meinung keinen Sinn wenn die Suche bereits nach einem Buchstaben beginnt.
hier der ajax teil
Code:
<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>
das formular
Code:
<input type="text" onkeyup="searchFor(this.value);"/>
und der php code
PHP:
if ($_POST["suchbegriff"] ){
// Mysql Abfrage wird gespeichert mit den Notwendigen Parameter
$sql = "SELECT * FROM ".$tabelle." WHERE suchworte LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%')";
// Mysql Abfrage wird durchgeführt
$result = mysql_query($sql);
// Suchbegriff wird ausgegeben
echo "<br><br>Sie Suchten nach: ".$_POST["suchbegriff"]."<br/><br/>";
// Ergebnis wird ausgegeben mit Zeilenumbruch
while($row = mysql_fetch_object($result)){
echo $row->name;
echo "<br/>";
}
}
Wie erwähnt, möchte ich, dass die Suche erst beginnt wenn mind. 3 Zeichen eingegeben worden sind.
DANKE schon mal für jede Hilfe und jeden TIPP
D A N K E