2012-11-07 19 views
1

我爲我的訂單報告列表添加了以下Opencart模塊... http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3597&filter_search=order%20list%20filter%20model&page=4Opencart:產品名稱打印多次,如何解決。?

我在列「產品」中遇到問題。如果有多個選項,產品名稱會打印多次。所以如果我有三種選擇的產品,產品名稱會打印三次。有什麼方法可以解決這個問題嗎?

我只想打印產品名稱和型號一次,任何想法。?

我會重視的結果我現在有... enter image description here

這是我的SQL查詢...

public function getOrders($data = array()) { 
$sql = "select o.order_id,o.email,o.telephone,CONCAT(o.shipping_address_1, ' ', o.shipping_address_2) AS address,CONCAT(o.firstname, ' ', o.lastname) AS customer,o.payment_zone AS state,o.payment_address_2 AS block, o.payment_address_1 AS address,o.payment_postcode AS postcode,(SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS status,o.payment_city AS city,GROUP_CONCAT(pd.name) AS pdtname,GROUP_CONCAT(op.model) AS model,o.date_added,sum(op.quantity) AS quantity,GROUP_CONCAT(opt.value) AS options, GROUP_CONCAT(opt.order_product_id) AS ordprdid,GROUP_CONCAT(op.order_product_id) AS optprdid, GROUP_CONCAT(op.quantity) AS opquantity from `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_product op ON (op.order_id = o.order_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (pd.product_id = op.product_id and pd.language_id = '" . (int)$this->config->get('config_language_id') . "') LEFT JOIN " . DB_PREFIX . "order_option opt ON (opt.order_product_id = op.order_product_id) "; 

產品名稱= GROUP_CONCAT(pd.name) AS pdtname,

回答

1

添加DISTINCT

GROUP_CONCAT(DISTINCT pd.name) 
+1

感謝您的快速回答,我試過了,現在它的工作很棒,再次感謝... – mans

+0

請同時通知作者修改錯誤,以便他們能夠修復它。 – TheBlackBenzKid