Php CodeIgniter中的分组WHERE子句
我有一个这样的疑问Php CodeIgniter中的分组WHERE子句,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有一个这样的疑问 WHERE (timetable_id = '1' OR timetable_id = '2' OR timetable_id = '3' OR timetable_id = '4' OR timetable_id = '5' OR timetable_id = '6') AND exam_name_id = '5' 但我不知道如何在Codeigniter中执行此操作 我试过这个 while(
WHERE (timetable_id = '1'
OR timetable_id = '2'
OR timetable_id = '3'
OR timetable_id = '4'
OR timetable_id = '5'
OR timetable_id = '6')
AND exam_name_id = '5'
但我不知道如何在Codeigniter中执行此操作
我试过这个
while(@$i <= 6 {
$this->db->or_where('timetable_id',$this->input->post('timetable_id'.$i));
$i++;
}
$this->db->where('et.exam_name_id',5);
这将提供所有输出。如何正确地做到这一点?
请注意,在我的查询中,我有大括号 你让自己很难使用while循环。另外,我不明白如果你在用循环生成数字,为什么要使用
$this->input->post()。我会使用一个循环,如下所示:
for ($i = 1; $i <= 6; $i++) {
$this->db->or_where('timetable_id', $i);
}
$this->db->where('et.exam_name_id', 5);
用于($i=1;$i db->或其中('timeline\u id',$i);
}
$this->db->where('et.exam\u name\u id',5);
你让自己使用while循环变得很困难。而且,如果你正在用循环生成数字,我不明白你为什么要使用$this->input->post()
。我会用来实现这样的循环:
for ($i = 1; $i <= 6; $i++) {
$this->db->or_where('timetable_id', $i);
}
$this->db->where('et.exam_name_id', 5);
用于($i=1;$i db->或其中('timeline\u id',$i);
}
$this->db->where('et.exam\u name\u id',5);
你让自己使用while循环变得很困难。而且,如果你正在用循环生成数字,我不明白你为什么要使用$this->input->post()
。我会用来实现这样的循环:
for ($i = 1; $i <= 6; $i++) {
$this->db->or_where('timetable_id', $i);
}
$this->db->where('et.exam_name_id', 5);
用于($i=1;$i db->或其中('timeline\u id',$i);
}
$this->db->where('et.exam\u name\u id',5);
你让自己使用while循环变得很困难。而且,如果你正在用循环生成数字,我不明白你为什么要使用$this->input->post()
。我会用来实现这样的循环:
for ($i = 1; $i <= 6; $i++) {
$this->db->or_where('timetable_id', $i);
}
$this->db->where('et.exam_name_id', 5);
用于($i=1;$i db->或其中('timeline\u id',$i);
}
$this->db->where('et.exam\u name\u id',5);
如果您使用的是CI 3.xx
版本,则可以使用
$this->db->group_start();
while($i <= 6) {
$this->db->or_where('timetable_id',$this->input->post('timetable_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam_name_id',5);
$this->db->group_start();
while($i db->or_where('timeline_id'),$this->input->post('timeline_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam\u name\u id',5);
在ci2.xx
版本传递条件中,如果使用ci3.xx
版本,则可以使用
$this->db->group_start();
while($i <= 6) {
$this->db->or_where('timetable_id',$this->input->post('timetable_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam_name_id',5);
@$i = 1;
$n = $this->input->post('timetable_id'.$i);
$or_where = "(";
$or_where.="timetable_id = $n";
for ($i; $i <= 6; $i++) {
$n = $this->input->post('timetable_id'.$i);
$or_where.=" OR timetable_id = $n";
}
$or_where.=")";
$this->db->or_where($or_where);
$this->db->group_start();
while($i db->or_where('timeline_id'),$this->input->post('timeline_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam\u name\u id',5);
在ci2.xx
版本传递条件中,如果使用ci3.xx
版本,则可以使用
$this->db->group_start();
while($i <= 6) {
$this->db->or_where('timetable_id',$this->input->post('timetable_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam_name_id',5);
@$i = 1;
$n = $this->input->post('timetable_id'.$i);
$or_where = "(";
$or_where.="timetable_id = $n";
for ($i; $i <= 6; $i++) {
$n = $this->input->post('timetable_id'.$i);
$or_where.=" OR timetable_id = $n";
}
$or_where.=")";
$this->db->or_where($or_where);
$this->db->group_start();
while($i db->or_where('timeline_id'),$this->input->post('timeline_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam\u name\u id',5);
在ci2.xx
版本传递条件中,如果使用ci3.xx
版本,则可以使用
$this->db->group_start();
while($i <= 6) {
$this->db->or_where('timetable_id',$this->input->post('timetable_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam_name_id',5);
@$i = 1;
$n = $this->input->post('timetable_id'.$i);
$or_where = "(";
$or_where.="timetable_id = $n";
for ($i; $i <= 6; $i++) {
$n = $this->input->post('timetable_id'.$i);
$or_where.=" OR timetable_id = $n";
}
$or_where.=")";
$this->db->or_where($or_where);
$this->db->group_start();
while($i db->or_where('timeline_id'),$this->input->post('timeline_id'.$i));
$i++;
}
$this->db->group_end();
$this->db->where('et.exam\u name\u id',5);
在ci2.xx中
字符串中的版本通过条件@$i=1;
@$i = 1;
$n = $this->input->post('timetable_id'.$i);
$or_where = "(";
$or_where.="timetable_id = $n";
for ($i; $i <= 6; $i++) {
$n = $this->input->post('timetable_id'.$i);
$or_where.=" OR timetable_id = $n";
}
$or_where.=")";
$this->db->or_where($or_where);
$n=$this->input->post('timeline\u id'.$i);
$or_其中=“(”;
$or_where.=“时间表id=$n”;
对于($i;$i输入->发布($i);
$or_where.=“或时间表id=$n”;
}
$or_where.=”;
$this->db->or_where($or_where);
这将给出您期望的答案。@$i=1;
$n=$this->input->post('timeline\u id'.$i);
$or_其中=“(”;
$or_where.=“时间表id=$n”;
对于($i;$i输入->发布($i);
$or_where.=“或时间表id=$n”;
}
$or_where.=”;
$this->db->or_where($or_where);
这将给出您期望的答案。@$i=1;
$n=$this->input->post('timeline\u id'.$i);
$or_其中=“(”;
$or_where.=“时间表id=$n”;
对于($i;$i输入->发布($i);
$or_where.=“或时间表id=$n”;
}
$or_where.=”;
$this->db->or_where($or_where);
这将给出您期望的答案。@$i=1;
$n=$this->input->post('timeline\u id'.$i);
$or_其中=“(”;
$or_where.=“时间表id=$n”;
对于($i;$i输入->发布($i);
$or_where.=“或时间表id=$n”;
}
$or_where.=”;
$this->db->or_where($or_where);
这将给出您期望的答案。我得到的结果与我在查看页面中进行计数之前得到的结果相同,因此我正在使用$This->input->post()
确定。请编辑您的OP(原始帖子)并提供您的控制器和视图,以便进一步了解您试图实现的目标。我得到的结果与我在查看页面中计数之前得到的结果相同,因此我使用的是$this->input->post()
确定。请编辑您的OP(原始帖子)并提供您的控制器和视图,以便进一步了解您试图实现的目标。我得到的结果与我在查看页面中计数之前得到的结果相同,因此我使用的是$this->input->post()
确定。请编辑您的OP(原始帖子)并提供您的控制器和视图,以便进一步了解您试图实现的目标。我得到的结果与我在查看页面中计数之前得到的结果相同,因此我使用的是$this->input->post()
确定。请编辑您的OP(原始帖子)并提供您的控制器和视图,以便进一步了解您试图实现的目标。上面说的致命错误:调用未定义的方法CI\u DB\u mysql\u driver::group\u start()
抱歉,刚才看到了…您还发布了答案…group\u start()
和group\u end()
函数在CI 3.xx
中可用,可能您正在使用CI 2.xx
@PraveenSrinivasan查看此内容感谢您的回复@GirishIt said致命错误:调用未定义的方法CI\u DB\u mysql\u driver::group\u start()
抱歉,刚才看到了…您还发布了答案…group\u start()
和group\u end()
功能可在CI 3.xx
中使用,您可能正在使用CI 2.xx
@PraveenSrinivasan查看此功能,谢谢