![](/img/trans.png)
[英]CodeIgniter Active Record - Get number of returned rows and get the sum
[英]Codeigniter active record get rows from two different column value
properties_tbl :
id property_type usd_price euro_price published
----------------------------------------------------
1 private 1000.00 0 yes
2 landed 1200.00 0 yes
3 private 0 1200.00 yes
4 land 2000.00 0 yes
5 land 0 3000.00 yes
6 private 0 1200.00 yes
此表是我网站的示例表
如果usd_price存在,欧元将为0,然后,如果欧元存在usd价格将为0,
我在系统中进行了相同的兑换价值美元和欧元价格。
我的问题是在搜索中,当我像这些查询一样搜索时,它会显示所有行
SELECT *
FROM (`properties_tbl`)
WHERE (euro >= 100 OR usd >= 110)
AND (euro <= 5000 OR usd <= 4500)
AND `published` = 'yes'
我相信问题是由于您的SELECT查询,而不是CodeIgniter的Active Record。 根据示例表中的数据,WHERE子句中的第一个条件始终为true。 就构建基本查询的方式而言,devpro的注释是正确的。
要在CodeIgniter的Active Record结构中执行此操作,您可能会做一些不同的但这可行:
$this->db->select('*');
$this->db->from('properties_tbl');
$this->db->where('euro BETWEEN 100 AND 5000');
$this->db->where('usd BETWEEN 110 AND 4500');
希望这可以帮助。
感谢大家,所有这些都给我非常有用的建议。 我在@devpro和@cfnerd上创建了新的查询。
$this->db->where("(property_price BETWEEN $minprice AND $maxprice OR usd BETWEEN $usd_minprice AND $usd_maxprice)");
现在工作了! 谢谢大家
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.