我有一个网站,除了最低价格外,一切运作良好。我的意思是所有价格都会根据所选货币而不是最低价格进行更改。
最低价格是基于美元而非其他货币正确显示,我的意思是如果我们将货币兑换成欧元,那么最低价格仍然是美元的默认货币。
在我的Sql数据库中,我有一个表 pt_currencie 和列评分
在我的会议室页面上,显示以下PHP代码的最低价格:
<?php echo $lowestPrice; ?>
并且在控制器中,代码是:
$this->data['lowestPrice'] = $this->hotels_lib->bestPrice($this->data['hotel']->id);
这里是设置userdata和更改货币
function changeCurrency($id){
$this->db->where('id',$id);
$rs = $this->db->get('pt_currencies')->result();
$this->session->set_userdata('currencycode', $rs[0]->code);
$this->session->set_userdata('currencysymbol', $rs[0]->symbol);
$this->session->set_userdata('currencyname', $rs[0]->name);
$this->session->set_userdata('currencyrate', $rs[0]->rate);
}
}
如何根据所选货币(费率)显示$ lowestPrice? 我应该在上面的代码中添加什么公式,根据所选货币显示最低价格?
答案 0 :(得分:0)
好的,如果我正确地理解你的问题,你将不得不将数据库中的货币汇率转换为php数组,然后使用php确定最低价格:
$query = "SELECT rate FROM pt_currencie";
$result = mysqli_query($db_conn, $query);
$rate_arr = mysqli_fetch_fields($result);
$currLowestPrice = $lowestPrice;
foreach ($rate_arr as $rate) {
$tmpLowestPrice = $lowestPrice * $rate;
if($currlowestPrice > $tmpLowestPrice)
$currLowestPrice = $tmpLowestPrice;
}
所以这应该至少给你在$ currLowestPrice中的最低价格,在for循环结束时调整到货币汇率(上面的代码可能需要为你的程序调整一点)