Hallo Leute
Ich brauche hilfe bei einer Datenabfrage mit Ajax und PHP.
Ich hab heute zum ersten mal AJAX benutzt und möchte nun, dass nachdem man in einen Textfeld ein Begriff eingibt und mit onchange mit AJAX in meiner Datenbank gesucht werden soll.
Aus irgend einen Grund findet der mit den Operanten = (in der SQL-Abfrage) nichts (auch wenn ich ein Begriff eingebe der 1 zu 1 in der Datenbank in der entschrechenden Tabelle steht). Kurios wird es erst, wenn ich in der SQL-Abfrage LIKE %....% einbaue; dann werden nähmlich alle Datensätze der Spalte ausgeben.
HTML-Quellcode:
PHP-Quellcode:
Weiss einer warum das so ist und wie man das Problem beheben kann?
Ich brauche hilfe bei einer Datenabfrage mit Ajax und PHP.
Ich hab heute zum ersten mal AJAX benutzt und möchte nun, dass nachdem man in einen Textfeld ein Begriff eingibt und mit onchange mit AJAX in meiner Datenbank gesucht werden soll.
Aus irgend einen Grund findet der mit den Operanten = (in der SQL-Abfrage) nichts (auch wenn ich ein Begriff eingebe der 1 zu 1 in der Datenbank in der entschrechenden Tabelle steht). Kurios wird es erst, wenn ich in der SQL-Abfrage LIKE %....% einbaue; dann werden nähmlich alle Datensätze der Spalte ausgeben.
HTML-Quellcode:
HTML:
<html>
<script type="text/javascript">
function abfrageStarten(textfeld){
if(window.XMLHttpRequest){
var abfrage = new XMLHttpRequest();
}
else{
abfrage = new ActiveXObject("Microsoft.XMLHTTP");
}
abfrage.onreadystatechange=function(){
document.getElementById(textfeld).value = abfrage.responseText;
}
abfrage.open("POST","datensuche.php",true);
abfrage.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
abfrage.send("textfeld="+ textfeld + "&daten=" + document.getElementById(textfeld).value);
}
</script>
<body>
<input type="text" id="beschreibung" onchange="abfrageStarten(this.id)">
</body>
</html>
PHP:
<?php
header('Content-Type: text/html; charset=utf-8'); // sorgt für die korrekte Kodierung
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); // ist mal wieder wichtig wegen IE
mysql_connect("localhost","root")
or die("Fehler beim verbinden mit dem Datenbankserver!!");
mysql_select_db("datenbank")
or die("Fehler dem verbinden mit der Datenbank!!!");
$suche = mysql_query("SELECT * FROM werkzeug WHERE ".$_POST["textfeld"]." LIKE '".$_POST["daten"]."%'");
while($daSa = mysql_fetch_assoc($suche)){
echo $daSa["beschreibung"];
}
?>
Weiss einer warum das so ist und wie man das Problem beheben kann?
Zuletzt bearbeitet: