【问题标题】:Problem working with Flex data management and PHP使用 Flex 数据管理和 PHP 时出现问题
【发布时间】:2011-06-02 09:30:35
【问题描述】:

我正在使用 Flash Builder 4.5 for PHP 中的工资管理系统。我正在使用 Flex 数据管理系统。我有几个问题在下面解决:

  1. 当我将一个项目添加到数据网格并且不提交它时,我无法删除它。这是可以理解的,因为只有当项目在数据库中时删除才有效,并且在我将项目提交到数据库之前我没有获得项目的 id(主键)。

当我删除项目时,它应该从数据网格中删除(这可以通过从数据网格的数据提供程序中删除项目来实现),但问题是当我提交它时 - 它会保存到数据库中。我无法找到任何解决此问题的方法。

有什么关于 Flex 4 的好书/教程,侧重于 PHP 和 Flex 企业应用程序开发并通过示例解释应用程序开发?

【问题讨论】:

    标签: apache-flex flex4


    【解决方案1】:

    这是我在这种情况下所做的。对于我的 dataProvider 中尚未保存的行(它们的 ID=0 或其他内容)已被删除,我只需使用以下内容将它们删除:

    myArrayCollection.removeItemAt(myArrayCollection.getItemIndex(myDataGrid.selectedItem));
    

    这样,任何被删除的行都永远不会到达后端。

    【讨论】:

      【解决方案2】:

      我没有使用数据网格(或 ArrayCollection 作为数据提供者),所以虽然 @Jason Towne 的解决方案通常有效,但它不是针对我的具体情况的解决方案。

      我通过在 Flex 中使用 item 而不是 itemID 的数据管理 DELETE 方法解决了“无法删除未提交的项目”的问题。 Flash Builder 的自动生成的 ActionScript 方法和 PHP 代码使用 itemID 作为参数,在将记录保存到数据库之前,该参数对管理的数据 DELETE 不起作用。在 DELETE 方法中使用实际的 item 引用作为参数可以删除已提交和未提交的更改。然后必须修改 PHP 代码。

      我使用服务器端输入,所以修改后的 PHP 代码(非常类似于 FB 自动生成的 PHP 代码)如下所示:

      /**
       * Deletes the item corresponding to the passed primary key value from 
       * the table. Note: NOT using primary key anymore - use item reference.
       *
       * Add authorization or any logical checks for secure access to your data 
       *
       * @param MessageScheduleItem $item
       * @return void
       */
      public function delete_messageScheduleItem($item) {
      
          $stmt = mysqli_prepare($this->connection, "DELETE FROM $this->tablename WHERE ID = ?");
          $this->throwExceptionOnError();
      
          mysqli_stmt_bind_param($stmt, 'i', $item->ID);
      .
      .
      ... etc.
      

      然后是 Flex 代码:

      messageScheduleItemService.delete_messageScheduleItem(item);
      

      【讨论】:

        猜你喜欢
        • 2021-06-13
        • 1970-01-01
        • 2022-01-05
        • 2014-09-23
        • 1970-01-01
        • 1970-01-01
        • 2021-07-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多