// Function to update the DB Table Records in Joomla 3.0+ by passing the data in arrays
protected function updateTableRecordByClauses($fields, $table, $where=array()) { $this->db = JFactory::getDBO(); $query = "UPDATE ".$table." SET %s WHERE %s"; $fields = array(); foreach ($fields as $key => $val ) : $fields[] = $this->db->quoteName($key) . '=\''.$val.'\''; endforeach; // Conditions for which records should be updated. $conditions = array(); foreach ($where as $key => $val ) : $conditions[] = $this->db->quoteName($key) . '=\''.$val.'\''; endforeach; $this->db->setQuery( $query = sprintf($query, implode(",", $fields), implode(" AND ", $conditions)) ); $result = $this->db->execute(); return $result; } // To call the function $fields = array('Status'=>'Approved'); $whereClause = array('SubmissionId' => 12 'FieldName' => 'Membership', 'FieldValue' => 'Pending'); $this->updateTableRecordByClauses($fields, '#__users_submission', $whereClause); // Function to update the Single Where Clause. protected function updateTableRecord($locationObj, $table) { $this->db = JFactory::getDBO(); // Update a new query object. $result = $this->db->updateObject($table, $locationObj, 'id'); // $id = (int)$this->db->insertid(); return $result; } // Update the user record into '__users' table. $dataObj = new stdClass(); $dataObj->id = $myfields['UserId']; $dataObj->lastResetTime = $location_id; $dataObj->block = $myfields['Country']; $dataObj->updated = date('Y-m-d H:i:s'); $this->updateTableRecord($dataObj, '#__users');
No comments:
Post a Comment
Please post any queries and comments here.