AJAX Abfrage ob Wert aus Input-Feld in MySQL Datenbank

Status
Für weitere Antworten geschlossen.

Snip3r

Urgestein
Registriert
Feb. 2007
Beiträge
2.008
Hallo,

wie kann ich (sehr warsch. mit AJAX) überprüfen, ob ein Wert aus einem Input-Feld in der Datenbank ist?
PHP:
[TR]

[td]Name:[/td]

[/TR]
Neben dem Input Feld sollte angezeigt werden, ob der Name noch frei ist.
Mit PHP würde ich das so abfragen, aber mit PHP muss ich auch die Seite neu laden^^
PHP:
$check_query = "SELECT `name` FROM `daten` WHERE `name` = \"'.$name.'\" LIMIT 0,1";
$num_rows = @mysql_num_rows($check_query);
if ($num_rows > 0) echo "Name vergeben";

mfg
snip3r
 
Nehmen wir an, du hast folgende Seite (das onChange, sowie der sind hier wichtig [das input muss keinen speziellen Namen oder ID haben, dem this sei Dank :)] !)
PHP:

Dann brauchst du "nur noch" folgendes js (hier ajtest.js genannt):
PHP:
var req = null;
getXMLHttp();
var req_current = false;

function getXMLHttp() {
try{
req = new XMLHttpRequest();
}
catch (e){
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed){
req = null;
}
}
}
}

function checkName(xelement) {
if(req_current) req.abort();
req_current = true;
var ev = xelement.value;
req.open("GET", "http://deineseite.de/usercheck.php?user="+ev+"&rand="+new Date(), true);
req.onreadystatechange = function() {
if(req.readyState == 4) {
if(req.status == 200) {
if(req.responseText == "1") {
document.getElementById("userexists").innerHTML = 'User existiert!';
} else {
document.getElementById("userexists").innerHTML = 'User existiert nicht!';
}
}
req_current = false;
} else {
return false;
}
}
req.send(null);
}

Bei deiner Seite (der PHP Check) siehts schon ganz gut aus, nur man muss sie etwas abändern ;) (und usercheck.php nennen):
PHP:
$check_query = "SELECT `name` FROM `daten` WHERE `name` = \"'.$name.'\" LIMIT 0,1";
$num_rows = @mysql_num_rows($check_query);
if ($num_rows > 0) echo '1';
else echo '0'; 
?>

MfG Arkanorian
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten