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

[Решено] Вывести созданную таблицу в Б.Д


Recommended Posts

Доброго дня!

помогите подключить таблицу buklet_photo (id,text,url) из бд к карточке товара.

 

1.catalog/model/catalog/product.php - к этой функции подключаться,или нужно создать новую?

 

public function getProduct($product_id)

 

 

2.../catalog/controller/product/product.php -  как получить данные из модели?

 

3..../template/product/product.tpl - тут уже проще.)

 

Движок ocStore 2.1

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


1. Можно поправить getProduct, но только если собираетесь выводить эти данные в категориях и других страницах сайта. т.к. getProduct используется везде, лучше ее не перегружать лишними запросами. Так что желательно создать отдельную функцию.

2. $this->model_catalog_product->getProduct($product_id);

3. Вывод

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

Смотря что Вы хотите делать с этими данными,  как вариант можно сделать 

 

Модель (Это только вывод данных, там надо еще удаления, копирование, редактирование и добавление )

publick function getBukletPhoto(product_id) 
{
    $sql = "SELECT text, url FROM `". DB_PREFIX . "buklet_photo` WHERE product_id = '" . (int) $product_id "'";
    return $this->db->query($sql)->rows;  
}
Надіслати
Поділитися на інших сайтах

видно же по "тексту" - нет у него в таблице "product_id".

вообще не понятно, чего надо и что есть.

лучше бы описал исходные данные (без своей таблицы) и что надо с ними делать.

может вообще не в ту сторону двигаешься.

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

Я тогда просто процитирую

 

 

 

из бд к карточке товара.
Надіслати
Поділитися на інших сайтах

фтопку.

что там за данные?

зачем/почему они в отдельной таблице?

насколько отличаются?

может в product засунуть?

может в product_description?

а вдруг вообще по шаблону можно генерировать прямо в шаблоне карточки товара?

итпд...

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

@afwollis, При выводе определенной  опций в (id="product">)  в карточке товара ,нужно  подгрузить цикл foreach c данными из б.д.

 

Что-то не так делаю,помогите разобраться.Ошибка invalid argument supplied for foreach() in product_product.tpl

 

catalog/model/catalog/product.php

public function getbukletphoto($product_id) {
$query =$this->db->query ("SELECT ID,text,URL FROM " . DB_PREFIX . "buklet_photo");

return $query->rows;
}

 

 

/catalog/controller/product/product.php

$product_examples = $this->model_catalog_product->getbukletphoto($product_id);

foreach ($product_examples as $product_example )
{
$buklet[]=array (
'id' => $product_example ['id'],
'text' => $product_example ['text'],
'url' => $product_example ['url']
);
}

 

/template/product/product.tpl

<?php foreach ($buklet as $product_example) { ?>
<?php echo $product_example['id']; ?>
<?php echo $product_example['text']; ?>
<?php } ?>

 

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


Данные такие:

id =>Описание => изображение

//$buklet[]=array(
$data['buklet'] = array(
Переменные из контроллера в шаблон передаются через массив $data, а в 1.5.x через $this->data
  • +1 1
Надіслати
Поділитися на інших сайтах

catalog/model/catalog/product.php

 public function getbukletphoto($product_id) {
$query =$this->db->query ("SELECT ID,text,URL FROM " . DB_PREFIX . "buklet_photo");

это выбирает абсолютно все данные из таблицы (у всех товаров одинаковое выводит).

если так - бд вообще не нужна.

если каждому товару надо привязать своё - не хватает столбца в таблице (или таблицы связей) и условия в запросе (условий/итпд).

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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