我正在开发codeigniter电子商务网站。我有一张桌子
shipping table
product_weight (in kgs) shipping_charge
1.000 60
1.500 90
2.000 120
2.500 150
3.000 180
3.500 210
4.000 240
我想查找添加到购物车中的产品的运费。但我无法计算它。如果产品重量是2.800,那么我应该得到shipping_charge值180.我不知道该怎么做。下面是我的代码
function get_shipping_charge(){
$this->db->select('shipping_charge');
$this->db->from('shipping_table');
$this->db->where('product_weight >=', $product_weight);
$this->db->limit('1');
$query = $this->db->get();
return $query->result();
}
答案 0 :(得分:1)
function get_shipping_charge(){
$this->db->select('shipping_charge');
$this->db->from('shipping_table');
$this->db->where('product_weight >=', $product_weight);
$this->db->order_by("product_weight","ASC");
$this->db->limit('1');
$query = $this->db->get();
return $query->result();
}
答案 1 :(得分:0)
这对你有用吗?
function get_shipping_charge() {
$this->db->select('IFNULL(MAX(shipping_charge), (SELECT MIN(shipping_charge) FROM shipping_table))');
$this->db->from('shipping_table');
$this->db->where('product_weight <=', $product_weight);
$query = $this->db->get();
return $query->result();
}
注意强>
更新了查询以处理小于1.000的权重值。
答案 2 :(得分:0)
试试这个:
function get_shipping_charge() {
$this->db->select('MIN(shipping_charge) AS shipping_charge');
$this->db->from('shipping_table');
$this->db->where('product_weight >=', $product_weight);
$query = $this->db->get();
return $query->result();
}