2016-09-21 4 views
0

私はすべてのクライアントファイルを含む "folder"という名前のテーブルを持っています。 「編集」ボタンをクリックします。データベースに登録されているフィールド「EtatDemande」と、変更する「EtatDemande」($ _ POST ['EtatDemande'])を比較したい場合は、フィールド「StateChanged」を受け取ります"1"chronoformsでのクエリjoomlaが動作しない

私は次のクエリを試してみますが、変更の登録後に "DBSAVE"の後に置くと、2つの値は常に同じです。私はChronoformsあなたは何もすることなく、フォームからフィールドを保存し忘れないでください

<?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(); 
    ?> 

答えて

0

常に空のデータベースに登録されている「EtatDemande」フィールドの前に置く場合

。変更が上書きされている可能性があります。 コードで更新する代わりに、$ form-> data配列の値を変更してみてください。

関連する問題