我在CodeIgniter中为电子商务网站创建一个CMS,用户可以在其中搜索产品标题,说明或SKU并显示前20个结果。然后有一个“更多...”按钮,可以加载下20个产品。但是,我不能获得“更多...”的查询以输出相同数量的结果。下面是我从我的模型2个功能:'加载更多'sql功能不加载正确的产品
public function searchProducts($searchText)
{
$this->db->select("prod_id, prod_sku, prod_title, prod_desc, prod_main_image");
$this->db->where("prod_sku LIKE '%{$searchText}%'");
$this->db->or_where("prod_title LIKE '%{$searchText}%'");
$this->db->or_where("prod_desc LIKE '%{$searchText}%'");
$this->db->order_by("prod_id", "desc");
$query = $this->db->get("products", 20);
return $this->checkSalesProducts($query->result());
}
public function loadMoreSearchProducts($searchText, $id)
{
$this->db->select("prod_id, prod_sku, prod_title, prod_desc, prod_main_image");
$this->db->where("(prod_sku LIKE '%{$searchText}%' OR prod_title LIKE '%{$searchText}%' OR prod_desc LIKE '%{$searchText}%') AND `prod_id` < {$id}");
$this->db->order_by("prod_id", "desc");
$query = $this->db->get("products", 20);
return $this->checkSalesProducts($query->result());
}
在负载更多的功能,Ajax调用发送的最后一个产品的ID显示,这样我可以使用的产品ID降序排序,以获得产品具有更低下一个20的ID。
任何想法?
我认为有ID从最高到最低,并把“少于最后ID”部分在where子句应该这样做? – 2012-07-06 12:20:06