Ich habe eine Liste von der Datenbank und ich möchte Bearbeitungsfunktionalität implementieren, wo beim Klicken auf eine Tabellenspalte die Spalte bearbeitet werden kann und beim Klicken aus Spalte, der Wert aktualisiert wird.Partielle Aktualisierung einer Liste mit AJAX
Ich habe AJAX für diesen Zweck verwendet. Mein Code ist wie unter:
page1.php
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
function showEdit(editableObj)
{
$(editableObj).css("background","#FFF");
}
function saveToDB(editableObj,column,id)
{
$.ajax(
{
url: "page2.php",
type: "POST",
data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
success: function(data)
{
$(editableObj).css("background","#FDFDFD");
}
});
}
</script>
Die Säule meiner Tabelle ist wie unter:
<td contenteditable="true" onBlur="saveToDB(this, 'exmid','<?php echo $p0; ?>')"
onClick="showEdit(this);"><?php echo $p3 ?>
Hinweis: $ p0 enthält die Seriennummer der Reihe von mysql Datenbanktabelle und $ p3 enthält den angezeigten Text.
Der Code für page2.php ist:
<?php
include_once 'includes/db_connect.php';
?>
<?php
$result = mysql_query("UPDATE examlist1 set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE sno=".$_POST["id"]);
?>
Problem: Wenn ich auf die Spalte klicken, um es editierbar wird. Mit alert() innerhalb saveToDB() Ich habe überprüft, dass die Funktion auf Klick aus der Säule und auch Werte von Spalt und id korrekt sind aufgerufen wird.
Dann habe ich versucht, die alert() Funktion innerhalb $ .ajax und es wurde nicht genannt. Ich bin mir nicht sicher, ob Ajax läuft oder nicht. Dies ist das erste Mal, dass ich versuche, Ajax in einem PHP-Code selbst zu verwenden.
Bitte schlagen Sie vor, was ist das Problem und was ist die Lösung? Der Code wird auf einem Linux-basierten Server unter Godaddy mit PHP 5.4 implementiert.
Auch ich möchte die Hintergrundfarbe auf Fehler setzen. Wie schreibt man es in einen Ajax-Block?
Firebug Add-on-Erweiterung auf Ihrem Browser hinzufügen. Und sehen Sie, was dort passiert mit Firebug Inspect. –