2016-09-21 3 views
0

J'ai une table nommée "dossier" qui contient tous les fichiers client. quand je clique sur bouton "Modifier": Je veux comparer le champ "EtatDemande" qui est enregistré dans la base de données par "EtatDemande" que je change ($ _ POST ['EtatDemande']) si oui le champ "StateChanged" reçoit "1"Requête dans chronoforms joomla ne fonctionne pas

J'essaie la requête suivante mais si je mets après "DBSAVE" après l'enregistrement de la modification les 2 valeurs sont toujours les mêmes.

Si je mets devant le champ « EtatDemande » qui est enregistré dans la base de données toujours vide

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

Répondre

0

Gardez à l'esprit que ChronoForms enregistre les champs de la forme sans que vous ayez à faire quoi que ce soit. Il peut être en train d'écraser vos modifications. Au lieu de faire la mise à jour dans le code, vous devriez peut-être essayer de changer la valeur dans le tableau $ form-> data.