PQGrid: How I can save changes from grid to DB when I have a View as data source
I have read all examples from the homepage/forum etc. Furthermore I tried to transfer from jqGrid / other Gridtools to PQGrid. No chance.
The code below shows the PopUp-Editing opportunity and when I change any value, e.g. Prio = Priority, the values in the grid are edited, but when I reload the data, I got the original value from database.
Likewise I have created a PHP-file (Vormerkungen_Grid_Speichern.php) for parameter 'editurl' by a template, but nothing happens. He don't call this special file.
<?php
// FILENAME: Vormerkungen_Grid_Speichern.php
// Datei dient nur zum Speichen von Veränderungen im Grid
require ('./system_connector_mysql.php');
$artikelnr = $_POST['ArtikelNr'];
$aufgabe = $_POST['Aufgabe'];
$prio = $_POST['Prio'];
echo $_POST['ArtikelNr'];
echo $_POST['Aufgabe'];
echo $_POST['Prio'];
switch ($_POST["oper"]) {
case "add":
// do mysql insert statement here
break;
case "edit":
$query = "UPDATE tab_vormerkungen SET Aufgabe = '$aufgabe', Prio=$prio WHERE ArtikelNr=$artikelnr";
mysql_query($query) OR ('Vormerkungen_Speichern.php - Zeile 13 |' . mysql_error());
$datei = fopen('Vormerkungen_Speichern.txt', 'w');
fwrite($datei, $query);
fclose($datei);
break;
case "del":
// do mysql delete statement here
break;
}
?>
// FILENAME: Vormerkungen.php
function editRow() {
var rowIndx = getRowIndx();
if (rowIndx != null) {
var row = $grid.pqGrid('getRowData', { rowIndx: rowIndx });
var aufgabeAlt = row.Aufgabe;
var $frm = $("form#crud-form");
$frm.find("input[name='artikelnr']").val(row.ArtikelNr);
$frm.find("input[name='aufgabe']").val(row.Aufgabe);
$frm.find("input[name='prio']").val(row.Prio);
$frm.find("input[name='VFG']").val(row.VFG);
$("#popup-dialog-crud").dialog({ title: "Vormerkung " + row.ArtikelNr + " bearbeiten", buttons: {
Update: function () {
//update row.
row = [];
row.ArtikelNr = $frm.find("input[name='artikelnr']").val();
row.Aufgabe = $frm.find("input[name='aufgabe']").val();
row.Prio = $frm.find("input[name='prio']").val();
// Umsetzung im Grid
$grid.pqGrid('updateRow', { rowIndx: rowIndx, row: row, checkEditable: false });
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
}).dialog("open");
}
}