Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] sql посчитать количество строк


Recommended Posts

Друзья, добрый день!

Работаю с opencart 1.5

Редактирую файл checkout/order.tpl 

 

Так понимаю, тот файл, который как раз заносит информацию о заказах в базу

$this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET invoice_prefix = '" . $this->db->escape($data['invoice_prefix']) . "', store_id = '" . (int)$data['store_id'] . "',  skoka = '$order_skolko', store_name = '" . $this->db->escape($data['store_name']) . "', store_url = '" . $this->db->escape($data['store_url']) . "', customer_id = '" . (int)$data['customer_id'] . "', customer_group_id = '" . (int)$data['customer_group_id'] . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', payment_firstname = '" . $this->db->escape($data['payment_firstname']) . "', payment_lastname = '" . $this->db->escape($data['payment_lastname']) . "', payment_tax_id = '" . $this->db->escape($data['payment_tax_id']) . "', payment_address_1 = '" . $this->db->escape($data['payment_address_1']) . "', payment_city = '" . $this->db->escape($data['payment_city']) . "', payment_postcode = '" . $this->db->escape($data['payment_postcode']) . "', payment_country = '" . $this->db->escape($data['payment_country']) . "', payment_country_id = '" . (int)$data['payment_country_id'] . "', payment_zone = '" . $this->db->escape($data['payment_zone']) . "', payment_zone_id = '" . (int)$data['payment_zone_id'] . "', payment_address_format = '" . $this->db->escape($data['payment_address_format']) . "', payment_method = '" . $this->db->escape($data['payment_method']) . "', payment_code = '" . $this->db->escape($data['payment_code']) . "', shipping_firstname = '" . $this->db->escape($data['shipping_firstname']) . "', shipping_lastname = '" . $this->db->escape($data['shipping_lastname']) . "', shipping_address_1 = '" . $this->db->escape($data['shipping_address_1']) . "', shipping_city = '" . $this->db->escape($data['shipping_city']) . "', shipping_postcode = '" . $this->db->escape($data['shipping_postcode']) . "', shipping_country = '" . $this->db->escape($data['shipping_country']) . "', shipping_country_id = '" . (int)$data['shipping_country_id'] . "', shipping_zone = '" . $this->db->escape($data['shipping_zone']) . "', shipping_zone_id = '" . (int)$data['shipping_zone_id'] . "', shipping_address_format = '" . $this->db->escape($data['shipping_address_format']) . "', shipping_method = '" . $this->db->escape($data['shipping_method']) . "', shipping_code = '" . $this->db->escape($data['shipping_code']) . "', comment = '" . $this->db->escape($data['comment']) . "', total = '" . (float)$data['total'] . "', affiliate_id = '" . (int)$data['affiliate_id'] . "', commission = '" . (float)$data['commission'] . "', language_id = '" . (int)$data['language_id'] . "', currency_id = '" . (int)$data['currency_id'] . "', currency_code = '" . $this->db->escape($data['currency_code']) . "', currency_value = '" . (float)$data['currency_value'] . "', ip = '" . $this->db->escape($data['ip']) . "', forwarded_ip = '" .  $this->db->escape($data['forwarded_ip']) . "', user_agent = '$num_rows', accept_language = '" . $this->db->escape($data['accept_language']) . "', date_added = NOW(), date_modified = NOW()");

Но перед тем как заносить данную информацию я хочу посчитать все заказы сделанные данным пользователем.

Для чего делаю запрос к базе и считаю строки с id данного пользователя:

$order_skolko = $this->db->query("SELECT COUNT(*) FROM `order` WHERE customer_id = '" . (int)$data['customer_id'] . "'");

Но данный запрос мне ничего не возвращает...

Судя по всему я делаю неверный запрос. 

Подскажите, плиз!)

 

Надіслати
Поділитися на інших сайтах


 

попробуйте так

$order_skolko = $this->db->query("SELECT COUNT(*) FROM `" . DB_PREFIX . "order` WHERE customer_id = '" . (int)$data['customer_id'] . "'");

 

Нет. Не помогло.

А я правильно понимаю, что данный запрос возвращает количество строк и я сразу могу его использовать для вставки в другой запрос?

 

допустим, запросил:

$order_skolko = $this->db->query("SELECT COUNT(*) FROM `order` WHERE customer_id = '" . (int)$data['customer_id'] . "'");

и потом сразу $order_skolko вставляю в запрос INSERT?

или $order_skolko предварительно необходимо преобразовать?

Надіслати
Поділитися на інших сайтах



$order_skolko = $this->db->query("SELECT COUNT(*)  total FROM `order` WHERE customer_id = '" . (int)$data['customer_id'] . "'");

$skolko =  $order_skolko->row['total'];

Надіслати
Поділитися на інших сайтах

$order_skolko = $this->db->query("SELECT COUNT(*)  total FROM `order` WHERE customer_id = '" . (int)$data['customer_id'] . "'");

$skolko =  $order_skolko->row['total'];

 

Спасибо тебе, добрый человек!))

Все работает!))

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.