【问题标题】:opencart - Get products by price rangeopencart - 按价格范围获取产品
【发布时间】:2016-05-21 20:14:48
【问题描述】:

这个问题的答案是从 stackoverflow 网站查看 Google。但它没有找到适合我情况的答案。

我需要从 OpenCart CMS 的数据库中提取有关价格范围的产品信息。 为此我在model/catalog/product.php文件末尾添加了一个方法:

public function getProductByPrice($low, $heigh){
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE price >= " . $low . " AND price < " . $heigh );

        foreach ($query->rows as $result) {
            $product_data[$result['product_id']] = $this->getProduct($result['product_id']);
        }
        return $product_data;
    }

从唯一的一个表中提取信息。产品名称在另一张桌子上。以及如何直接从两个表中提取数据并将两个结果合并到一个数组中?

OpenCart 版本:2.1.0.2 (rs.1)

【问题讨论】:

    标签: opencart opencart2.x


    【解决方案1】:

    要从两个表中提取数据,请使用JOINS 并获取数据和名称受价格限制的产品,您可以使用以下查询:

    $query = $this->db->query("SELECT p.*, pd.name FROM " . DB_PREFIX .
             "product p LEFT JOIN " . DB_PREFIX ."product_description pd
              ON p.product_id = pd.product_id WHERE p.price >= " . (int)$low . 
             " AND p.price < " . (int)$high .");
    

    然而,

    $this->getProduct($result['product_id']);
    

    还会根据产品 ID 获取产品名称。

    P.S: 你拼错了$high

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多