static function loadCartTotals($db, $customer_id) { $totals = []; $sql = 'SELECT SUM(product_price * cart_count) AS p FROM viewProductsInCart WHERE cart_customer_id = ?'; $statement = SqlQuery::executeSQL($db, $sql, [$customer_id]); $result = $statement->get_result(); if ($row = $result->fetch_assoc()) { $totals = $row; $selected_currency = Currency::getSelectedCurrency($db); $totals['pf'] = formatPrice($row['p'], $selected_currency); $totals['pc'] = $row['p'] / $selected_currency->fval('currency_value'); } $statement->close(); return $totals; }
public function execute() { if (isset($this->orderby)) { $this->orderbySQL = sprintf('ORDER BY %s', $this->orderby); } if (isset($this->paging)) { $this->limitSQL = sprintf('LIMIT %d,%d', $this->paging->offset, $this->paging->limit); } if (isset($this->where)) { $this->whereSQL = sprintf('WHERE %s', $this->where); } if (isset($this->data)) { $columns = []; $bindings = []; foreach ($this->data as $key => $value) { $columns[] = SqlQuery::validateColumn($key) . ' = ?'; $bindings[] =& $value; } // prepend bindings because SET comes before WHERE $this->bindings = array_merge($bindings, $this->bindings); $this->setSQL = sprintf('SET %s', implode(',', $columns)); } switch ($this->query_type) { case 'update': $sql = sprintf('UPDATE %s %s %s', $this->table_name, $this->setSQL, $this->whereSQL); break; case 'select': default: $sql = sprintf('SELECT * FROM %s %s %s %s', $this->table_name, $this->whereSQL, $this->orderbySQL, $this->limitSQL); } if (isset($this->paging) && !isset($this->paging->total_records)) { $this->paging->total_records = SqlQuery::getRecordCount($this->db, $this->table_name, $this->whereSQL, $this->bindings, $this->types); } //dbg($sql); //var_dump($this->bindings); return SqlQuery::executeSQL($this->db, $sql, $this->bindings, $this->types); }