这个问题的答案是从stackoverflow网站查看Google。但它没有找到我的情况的答案。
我需要从OpenCart CMS的数据库中提取有关产品价格范围的信息。 为此我添加了一个方法来建立/ 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)
答案 0 :(得分: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