Hallo nochmal,
Jetzt funktioniert alles soweit, dass das Script Daten der MySQL Db ausgibt, man diese Daten anklicken kann, und auch andere Daten eingeben kann. Diese geänderten Daten sollten dann an eine PHP geschickt werden, die die Db updated. Dafür habe ich folgendes Javascript:
<script type="text/javascript">
var original_text = "<?php echo htmlentities($text, ENT_QUOTES); ?>";
function showEditBox(zeile, spalte, text) {
var container = document.getElementById(""+zeile+spalte+"");
//alert(""+zeile+"");
//alert(""+spalte+"");
//alert(""+text+"");
if (container) {
var area = document.createElement("input");
area.id = ""+zeile+spalte+"";
area.style.width = "150px";
area.value = ""+text+"";
area.innerHTML = original_text;
container.appendChild(area);
var myButton = document.createElement("button");
var Text = document.createTextNode("Ok");
myButton.appendChild(Text);
myButton.addEventListener("click", function()
{
var area = document.getElementById(""+zeile+spalte+"").value;
alert (area);
document.write('<meta http-equiv="refresh" content="0; URL=http://xader.cwsurf.de/auswerten.php?area=' + area + '&zeile=' + zeile + '&spalte=' + spalte + '">');
document.close();
}, false);
document.getElementById(""+zeile+spalte+"").appendChild(myButton);
}
else {
alert("Es liegt ein Fehler mit dem Edit-Box-Container vor");
}
}
</script>
Jetzt habe ich jedoch das Problem, dass beim Klick auf den OK-Button als Wert für die Textbox "undefined" ausgegeben wird. Guckt es euch an: http://xader.cwsurf.de/edit.html
Damit übergebe ich die Werte "zeile", "spalte", "text" an die Funktion:
echo "
<tr>
<td>$zeile</td>
<td><a tabindex='0' onclick='showEditBox(\"$zeile\", \"username\", \"$username\");'>$username</a></td>
<td><a tabindex='0' onclick='showEditBox(\"$zeile\", \"reg_date\", \"$reg_date\");'>$reg_date</a></td>
<td><a tabindex='0' onclick='showEditBox(\"$zeile\", \"ip\", \"$ip\");'>$ip</a></td></tr>
<tr><td></td>
<td><div id='".$zeile."username'></div></td>
<td><div id='".$zeile."reg_date'></div></td>
<td><div id='".$zeile."ip'></div></td>
</tr>
";
Die Werte für $zeile, $username, $reg_date und $ip werden aus meiner MySQL ausgelesen, und es werden auch alle Werte an das Javascript weiter gegeben. Das einzigste Problem ist halt, dass der geänderte Text nicht angenommen wird.
Hoffentlich kann einer von euch meinen Fehler finden.
MfG
xader