Mysql 如何在codeigniter中从数据库表中获取偶数/奇数id号

Mysql 如何在codeigniter中从数据库表中获取偶数/奇数id号,mysql,database,codeigniter,Mysql,Database,Codeigniter,我是codeigniter的新手,刚刚加入了一个查询来解决一个紧急项目的报告。请帮助我Codeigniter的专家 我有一个很大的数据库表,希望只显示该表中的奇数/偶数数据行,该数据行将由名为“sale_id”的表字段过滤。我在PHPMyadmin中尝试了原始编码,它对我很有效。但不适用于Codeigniter 从ospos_pak_sub_cat中选择*,其中id%2=0 在原始PHP编码方面为我工作。如何在Codeigniter中使用它。我已经在该查询上使用了Where条件,现在想添加新

我是codeigniter的新手,刚刚加入了一个查询来解决一个紧急项目的报告。请帮助我Codeigniter的专家

  • 我有一个很大的数据库表,希望只显示该表中的奇数/偶数数据行,该数据行将由名为“sale_id”的表字段过滤。我在PHPMyadmin中尝试了原始编码,它对我很有效。但不适用于Codeigniter
从ospos_pak_sub_cat中选择*,其中id%2=0

在原始PHP编码方面为我工作。如何在Codeigniter中使用它。我已经在该查询上使用了Where条件,现在想添加新查询。 在以下给出的条件下存在,工作正常

$this->db->where('sale_date介于“'.$inputs['start_date']”和“'.$inputs['end_date']”之间)

它正在工作,我尝试了下面的代码,以获得解决方案,这是不工作,并得到错误

$this->db->where('sale\u id%2'=>0)

获取此行的错误。说--

分析错误:语法错误,意外的“=>”(T\u双箭头)


请帮我找到解决办法。提前谢谢

我不确定,但我想试试这条线会有用的
$this->db->where('sale\u id%2',0)

正如您所提到的,您可以在现有的where条件中添加新条件,如下所示

$this->db->where('(sale_date BETWEEN "'. $inputs['start_date']. '" and "'. $inputs['end_date'].')" and ((sale_id % 2) = 0)');

在SQL中,%字符是通配符,而不是可以解释错误的模。您可以改用MOD函数

因此产生的代码是:

    $this->db->where('MOD(sale_id ,2) => 0');

在您的模型中,只需编写如下查询:

$this->db->select('*');
$this->db->from('ospos_pak_sub_cat');
$this->db->where('sale_id %2=', 0);
$query_result = $this->db->get();
$result = $query_result->result();

您的代码中缺少“=”字符。希望它能起作用

谢谢你的建议。。但不起作用。获取此错误。发生数据库错误错误号:1064您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解可在第6行的“0 GROUP BY
sale_id
ORDER BY
sale_date
”附近使用的正确语法。尝试这一行时出现了一些错误。我运行了这一行,并得到了您要查找的结果$this->db->where('sale_id%2=',0);您好,在SQL中,%字符是通配符,而不是可以解释错误的模。你可以使用MOD函数来代替,非常感谢Tahsin Abrar bro。几天后我尝试了你的解决方案,得到了解决方案。这给了我一个错误。使用此查询
$this->db->where('MOD(sale_id,2)',0)将起作用