すべてのクライアント ファイルを含む「フォルダ」という名前のテーブルがあります。「編集」ボタンをクリックすると: 「EtatDemande」によってデータベースに登録されているフィールド「EtatDemande」を比較したい ($ _ POST [ '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();
?>