如何结合使用SQL-View和PQGrid并保存到数据库

时间:2019-05-21 09:54:01

标签: php mysql view grid

PQGrid:当我将View作为数据源时如何保存从网格到数据库的更改

我已经从主页/论坛等中阅读了所有示例。此外,我尝试从jqGrid /其他Gridtools转移到PQGrid。没有机会。

下面的代码显示了PopUp-Editing机会以及当我更改任何值(例如, Prio = Priority,可以编辑网格中的值,但是当我重新加载数据时,我从数据库中获得了原始值。

同样,我已经通过模板为参数“ editurl”创建了一个PHP文件(Vormerkungen_Grid_Speichern.php),但没有任何反应。他没有叫这个特殊文件。


<?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");
          }
      }

1 个答案:

答案 0 :(得分:0)

谢谢@Tony Tmov(讽刺)。 PQGrid为我提供了更好的许可证,这就是为什么我选择PQGrid的原因。

我认为我最大的问题是数据源。如果没有视图作为数据源,那么将其存储在数据库中也不会有问题。

但是我对数据源也别无选择。