<?php
class Productm extends CI_Model {
function __construct(){
parent::__construct();
}
function get_category_products($cat_id,$offset=0,$limit=0,$sort_column="product_name",$sort_order="asc"){
$this->db->where("p.active",1);
if($cat_id > 0 && !is_array($cat_id)){
// $strps = "p.category_id in (".$cat_id.")";
$this->db->like('p.category_id', $cat_id);
// $this->db->where("p.category_id",$cat_id);
}
if(is_array($cat_id)){
if(count($cat_id) > 0){
foreach($cat_id as $column => $value){
$this->db->where($value);
}
}
}
//$this->db->order_by('rand()');
//$this->db->order_by($sort_column,$sort_order);
$this->db->order_by('p.product_id','desc');
if($limit > 0 && $offset >= 0 ){
$this->db->limit($limit,$offset);
}
$this->db->join("manufacturers man","p.manufacturer_id = man.manufacturer_id","left");
$this->db->join("colors col","p.color_id = col.color_id","left");
$this->db->join("collections cl","p.collection_id = cl.collection_id","left");
// $this->db->join("categories c","p.category_id = c.category_id","left");
$q = $this->db->get('products p');
// echo $this->db->last_query();
$result = $q->result();
return $result;
}
function get_clearance_products($offset=0,$limit=0,$sort_column="product_name",$sort_order="asc"){
$this->db->where("active",1);
$this->db->where("promo_price > 0");
$this->db->order_by($sort_column,$sort_order);
if($limit > 0 && $offset >= 0 ){
$this->db->limit($limit,$offset);
}
$q = $this->db->get('products');
//echo $this->db->last_query();
$result = $q->result();
return $result;
}
function get_deal_products($offset=0,$limit=0,$sort_column="product_name",$sort_order="asc"){
$this->db->where("active",1);
$this->db->where("deal_status",1);
$this->db->order_by($sort_column,$sort_order);
if($limit > 0 && $offset >= 0 ){
$this->db->limit($limit,$offset);
}
$q = $this->db->get('products');
// echo $this->db->last_query();
$result = $q->result();
return $result;
}
function get_hot_products($offset=0,$limit=0,$sort_column="product_name",$sort_order="asc"){
$this->db->where("active",1);
$this->db->where("hot_sellers",1);
$this->db->order_by($sort_column,$sort_order);
if($limit > 0 && $offset >= 0 ){
$this->db->limit($limit,$offset);
}
$q = $this->db->get('products');
// echo $this->db->last_query();
$result = $q->result();
return $result;
}
function get_user_wishlist($user_id){
$this->db->select('*');
$this->db->from('wishlist');
$this->db->join("products","wishlist.product_id = products.product_id");
$this->db->join("sizes","sizes.size_id = wishlist.size_id","left");
$this->db->where("products.active",1);
$this->db->where("wishlist.user_id = $user_id");
$q = $this->db->get();
$result = $q->result();
return $result;
}
function get_all_products($extra_where=""){
$this->db->where("active",1);
if($extra_where != ""){
$this->db->where($extra_where);
}
$this->db->order_by("product_id","asc");
$q = $this->db->get('products');
$result = $q->result();
return $result;
}
function get_size_stock($product_id){
$this->db->select("sum(stock_available) as size_stock");
$this->db->where(array('active' => 1));
$this->db->where(array('product_id' => $product_id));
$this->db->group_by("product_id");
$q = $this->db->get('product_sizes');
$result = $q->result();
return $result;
}
function get_product_sizes($product_id,$extra_where=array()){
$this->db->where(array('active' => 1));
$this->db->where(array('product_id' => $product_id));
if(count($extra_where) > 0){
$this->db->where($extra_where);
}
$this->db->join("sizes s","s.size_id = ps.size_id");
$q = $this->db->get('product_sizes ps');
$result = $q->result();
$size_array = array();
foreach($result as $row){
$size_array[$row->size_id] = $row;
}
return $size_array;
}
function get_range_print($product_id,$extra_where=array()){
$this->db->where(array('product_id' => $product_id));
if(count($extra_where) > 0){
$this->db->where($extra_where);
}
$this->db->join("range g","g.range_id = pp.range_id");
$q = $this->db->get('product_printcost pp');
$result = $q->result();
$size_array = array();
foreach($result as $row){
$size_array[$row->range_id] = $row;
}
return $size_array;
}
function get_product_images($product_id){
$this->db->where(array('pi.product_id' => $product_id));
$q = $this->db->get('product_images pi');
$result = $q->result();
return $result;
}
function get_all_sizes($extra_where=""){
$q = $this->db->get('sizes');
$result = $q->result();
return $result;
}
function get_all_product_feq($product_id){
$this->db->where(array('product_id' => $product_id));
$q = $this->db->get('product_frequently');
$result = $q->result();
$add_on_product = array();
foreach($result as $row){
$add_on_product[$row->add_on_product_id] = $row;
}
return $add_on_product;
}
function get_latest_products($extra_where="",$type=""){
$this->db->where("active",1);
if($extra_where != ""){
$this->db->where($extra_where);
}
if($type == "new"){
$this->db->where("is_new",1);
}
if($type == "hot"){
$this->db->where("hot_sellers",1);
}
if($type == "featured"){
$this->db->where("on_sale",1);
}
if($type == "popular"){
$this->db->where("upcoming",1);
}
$this->db->order_by("product_id","desc");
$this->db->limit(20,0);
$q = $this->db->get('products');
$result = $q->result();
return $result;
}
function get_product_list()
{
$this->db->where("active",1);
$this->db->order_by("product_id","desc");
$this->db->limit(20,0);
$q = $this->db->get('products');
$result = $q->result();
return $result;
}
function get_product_detail($pid){
$this->db->select('*');
$this->db->from('products');
$this->db->join("categories","products.category_id = categories.category_id","left");
$this->db->join("manufacturers","products.manufacturer_id = manufacturers.manufacturer_id","left");
$this->db->where("active",1);
$this->db->where("product_id",$pid);
$q = $this->db->get();
$result = $q->result();
return $result;
}
function get_product_reviews($pid,$status=1){
$this->db->select('*');
$this->db->from('product_reviews');
$this->db->where("status",$status);
$this->db->where("product_id",$pid);
$q = $this->db->get();
$result = $q->result();
return $result;
}
function get_product_variant($pid,$pcode){
$this->db->where("item_number",$pcode);
$this->db->where_not_in("product_id",$pid);
$q = $this->db->get('products');
$result = $q->result();
return $result;
}
}
@KyuuKazami