0

我有一个名为“文件夹”的表,其中包含所有客户端文件。当我单击“编辑”按钮时:我想比较通过“EtatDemande”在数据库中注册的字段“EtatDemande”,如果是,则字段“StateChanged”收到“1 "

我尝试以下查询,但如果我在修改注册后放置“DBSAVE”之后,则 2 个值始终相同。

如果我在数据库中注册的“EtatDemande”字段之前放置始终为空

 <?php 
  /****this query just for display the old field(registration data base *****/  
    $db = JFactory::getDbo();
    $db1 = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query1 = $db1->getQuery(true);

    $query1->select($db1->quoteName(array('EtatDemande')));
    $query1->from($db1->quoteName('ml0ak_chronoengine_chronoforms_datatable_formulaire'));
    $query1->where( $db1->quoteName('NuméroK10') . ' = ' . $db1->quote($_POST['NuméroK10']));

    $db1->setQuery($query1);
    $results = $db1->loadObjectList();

    foreach ( $results as $us) {
        $EtatDemande=$us->EtatDemande;
    }

    echo "   ****   Etat Demande ancien ".$EtatDemande;
    $result1 = $db1->execute();

    /*********************************************************/

       $fields = array(
        $db->quoteName('EtatChanged') . ' = ' . $db->quote(1),
    );     
    $conditions = array( 
     $db->quoteName('EtatDemande') . '= ' . $db->quote($_POST['EtatDemande']),
     $db->quoteName('NuméroK10') . ' = ' . $db->quote($_POST['NuméroK10'])
    );

    echo "EtatDemande   :".$_POST['EtatDemande'];

    $query->update($db->quoteName('ml0ak_chronoengine_chronoforms_datatable_formulaire'));
    $query->set($fields);
    $query->where($conditions);

    $db->setQuery($query);
    $result = $db->execute();
    ?>
4

1 回答 1

0

请记住,Chronoforms 无需您执行任何操作即可保存表单中的字段。它可能会覆盖您的更改。而不是在代码中进行更新,也许您应该尝试更改 $form->data 数组中的值。

于 2016-11-24T08:36:14.627 回答