2015-01-30 1 views
0

Я пытаюсь получить полную информацию о каждом элементе (идентификатор продукта, название продукта, код ссылки, функции, описание_short, описание) в базе данных, но я не знаю, t знать точный запрос для этого, моя база данных mysql все детали, необходимые для элемента, находятся в разных таблицах ... каждое имя функции имеет разные идентификаторы, и каждое значение функции имеет разные идентификаторы, я не знаю запроса для получения всех деталей для элемента ..Как получить полную информацию о каждом товаре в базе данных mysql в prestashop

пожалуйста, пришлите мне запрос на это ....

заранее спасибо

ответ

2

пожалуйста, попробуйте этот запрос

SELECT 
     a.`id_product`,b.name as name,`reference`,a.price as price,sa.active as active 
     , shp.name as shopname, a.id_shop_default, MAX(image_shop.id_image) id_image, cl.name `name_category`, sa.`price`, 0 AS price_final, sav.`quantity` as sav_quantity, sa.`active` 
     FROM `ps_product` a 
     LEFT JOIN `ps_product_lang` b ON (b.`id_product` = a.`id_product` AND b.`id_lang` = 1 AND b.`id_shop` = 1) 

     LEFT JOIN `ps_image` i ON (i.`id_product` = a.`id_product`) 
     LEFT JOIN `ps_stock_available` sav ON (sav.`id_product` = a.`id_product` AND sav.`id_product_attribute` = 0 
     AND sav.id_shop = 1) JOIN `ps_product_shop` sa ON (a.`id_product` = sa.`id_product` AND sa.id_shop = 1) 
       LEFT JOIN `ps_category_lang` cl ON (sa.`id_category_default` = cl.`id_category` AND b.`id_lang` = cl.`id_lang` AND cl.id_shop = 1) 
       LEFT JOIN `ps_shop` shop ON (shop.id_shop = 1) 
       LEFT JOIN `ps_image_shop` image_shop ON (image_shop.`id_image` = i.`id_image` AND image_shop.`cover` = 1 AND image_shop.id_shop = 1) 

     GROUP BY sa.id_product 
+0

спасибо за запрос ur ... abdulla ... –

1

Mh, вы должны использовать это:

$product = new Product($product_id, false, $id_lang, $row['id_shop']); 

Id магазин при использовании Multishop.

И после этого u может достигать всех важных значений: $ product-> name и т. Д. Также может получить все атрибуты.

Attribute::getAttributes($id_lang, $not_null = false) 
+0

спасибо за ваш повтор ... Я хочу все детали в mysql-workbench, пожалуйста, скажите мне запрос на это. –

0

SQL для всех продуктов (совместимо, например, с WooCommerce CSV импорта пакетом) включает в себя налоги на regular_price

SELECT CONCAT('PS', p.id_product) AS 'sku', 
    p.active AS 'Active (0/1)', 
    pl.name AS 'post_title', 
    GROUP_CONCAT(DISTINCT REPLACE(pc.name, '/', '>') SEPARATOR '|') AS 'tax:product_cat', 
    p.price AS 'Price tax excl.', 
    ROUND(p.price * (COALESCE(ptx.rate, 0)/100 + 1), 2) AS 'regular_price', 
    COALESCE(ptx.rate, 0) AS 'Tax', 
    p.wholesale_price AS 'Wholesale price', 
    p.on_sale AS 'On sale (0/1)', 
    p.reference AS 'Reference #', 
    p.supplier_reference AS 'Supplier reference #', 
    p.ean13 AS 'EAN13', 
    p.upc AS 'UPC', 
    p.ecotax AS 'Ecotax', 
    p.weight AS 'weight', 
    p.quantity AS 'stock', 
    "yes" AS 'manage_stock', 
    pl.description_short AS 'post_excerpt', 
    pl.description AS 'post_content', 
    pl.meta_title AS 'Meta-title', 
    pl.meta_keywords AS 'Meta-keywords', 
    pl.meta_description AS 'Meta-description', 
    pl.link_rewrite AS 'URL rewritten', 
    pl.available_now AS 'Text when in stock', 
    pl.available_later AS 'Text when backorder allowed', 
    p.available_for_order AS 'Available for order', 
    p.date_add AS 'post_date', 
    p.show_price AS 'Show price', 
    p.online_only AS 'Available online only', 
    p.`condition` AS 'Condition', 
    concat('http://svartrecords.com/shoppe/img/p/',mid(im.id_image,1,1),'/', if (length(im.id_image)>1,concat(mid(im.id_image,2,1),'/'),''),if (length(im.id_image)>2,concat(mid(im.id_image,3,1),'/'),''),if (length(im.id_image)>3,concat(mid(im.id_image,4,1),'/'),''),if (length(im.id_image)>4,concat(mid(im.id_image,5,1),'/'),''), im.id_image, '.jpg') AS 'images' 
FROM ps_product p LEFT JOIN 
ps_product_lang pl ON p.id_product = pl.id_product AND pl.id_lang = 1 JOIN 
ps_tax_rule ptxgrp ON ptxgrp.id_tax_rules_group = p.id_tax_rules_group JOIN 
ps_tax ptx ON ptx.id_tax = ptxgrp.id_tax JOIN 
ps_image im ON p.id_product = im.id_product JOIN 
ps_category_product pcp ON pcp.id_product = p.id_product JOIN 
ps_category_lang pc ON pcp.id_category = pc.id_category AND pc.id_lang = 1 
WHERE p.active = 1 
GROUP BY p.id_product 

Получить изображения с помощью wget, это казалось более прочный способ для меня:

SELECT CONCAT('wget -O PS', p.id_product, '.jpg ', concat('http://svartrecords.com/shoppe/img/p/',mid(im.id_image,1,1),'/', if (length(im.id_image)>1,concat(mid(im.id_image,2,1),'/'),''),if (length(im.id_image)>2,concat(mid(im.id_image,3,1),'/'),''),if (length(im.id_image)>3,concat(mid(im.id_image,4,1),'/'),''),if (length(im.id_image)>4,concat(mid(im.id_image,5,1),'/'),''), im.id_image, '.jpg')) AS 'exec' 
FROM ps_product p LEFT JOIN 
ps_product_lang pl ON p.id_product = pl.id_product AND pl.id_lang = 1 JOIN 
ps_tax_rule ptxgrp ON ptxgrp.id_tax_rules_group = p.id_tax_rules_group JOIN 
ps_tax ptx ON ptx.id_tax = ptxgrp.id_tax JOIN 
ps_image im ON p.id_product = im.id_product JOIN 
ps_category_product pcp ON pcp.id_product = p.id_product JOIN 
ps_category_lang pc ON pcp.id_category = pc.id_category AND pc.id_lang = 1 
WHERE p.active = 1 
GROUP BY p.id_product 
Смежные вопросы