Нічого не знайдено

Спробуйте інший пошуковий запит

Популярні запити:

Додати в кошик

Кошик

У вас поки немає покупок

Переглянути маркетплейс

Робота з базою даних в OpenCart: гід для розробника

Робота з базою даних OpenCart потребує правильного підходу до запитів, безпеки та оптимізації. Дізнайтеся про структуру таблиць і найкращі практики.

1 хв читання
161
2
Робота з базою даних в OpenCart: гід для розробника

Чи використовуєте ви екранування у запитах до бази?

3 голосів

Увійдіть , щоб проголосувати

Під час розробки інтернет-магазину на OpenCart рано чи пізно виникає потреба працювати безпосередньо з базою даних. Це може бути додавання нових полів, оптимізація запитів або створення власної логіки обробки замовлень.


Структура бази даних

OpenCart використовує реляційну базу даних (зазвичай MySQL), де кожна сутність зберігається в окремій таблиці.


Основні таблиці:


Замовлення:

oc_order

oc_order_product

oc_order_option

oc_order_history


Товари:

oc_product

oc_product_description

oc_product_option


Користувачі:

oc_user

oc_customer


Як правильно працювати з базою даних

В OpenCart є вбудований клас для роботи з БД — $this->db.

Отримання даних

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order");

foreach ($query->rows as $row) {
// обробка даних
}
Оновлення даних
$this->db->query("
 UPDATE " . DB_PREFIX . "order 
 SET ex_f_date = '" . $this->db->escape($date) . "' 
 WHERE order_id = '" . (int)$order_id . "'
");

Додавання власного поля

if (!$this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "order` LIKE 'ex_f_date'")->num_rows) {
    $this->db->query("
        ALTER TABLE `" . DB_PREFIX . "order` 
        ADD `ex_f_date` DATETIME NULL
    ");
}


Безпека

Використовуйте (int) для чисел

Використовуйте $this->db->escape() для рядків


Оптимізація через JOIN

$query = $this->db->query("
    SELECT o.order_id, op.name, op.quantity
    FROM " . DB_PREFIX . "order o
    LEFT JOIN " . DB_PREFIX . "order_product op 
    ON o.order_id = op.order_id
");


Індекси

ALTER TABLE oc_order ADD INDEX (ex_f_date);


Архітектура

model — робота з БД

controller — логіка

view — відображення


Висновок

Робота з базою даних в OpenCart — це основа для створення кастомного функціоналу, оптимізації та масштабування магазину.

OcEx

OcEx

стаття
1
переглядів
161
вподобання
2
підписників
0

Схожі статті

Email маркетинг для e-commerce Маркетинг

Email маркетинг для e-commerce

Як побудувати ефективну email стратегію для інтернет-магазину: автоматизація, сегментація та найкращі практики.

Email-маркетинг E-commerce Конверсія
6,604 6 19 хв
15 січ 2026

Коментарі (0)

Відповідь для

Увійдіть, щоб залишити коментар

Увійти

Коментарів поки немає

Будьте першим, хто залишить коментар до цієї статті!

Ми використовуємо cookies

Ми використовуємо cookies та схожі технології для покращення вашого досвіду, аналізу трафіку та показу персоналізованої реклами. Детальніше — у нашій Політиці cookies.