[英]Generating query result in for loop
我想在for循环内生成查询,但是我只得到第一个唯一的ID。 我该如何解决?
意见
for ($i=0; $i < count($id); $i++) {
$id = $id[$i];
$row = $get_cash_card->by_id($id);
echo $row[0]['id'] . "<br/>";
}
模型:
public function by_id($id)
{
$query = $query = $this->db->get_where('cash_cards_info', array('id' => $id));
$rows = $query->num_rows();
return $query->result_array();
}
控制器:
public function cash_cards_on_hand_step1()
{
$this->load->model('cash_cards');
$this->form_validation->set_rules('id', 'Cash Card', 'trim|required|xss_clean');
$data['get_cash_card'] = $this->cash_cards;
$data['id'] = $this->input->post('id');
$data['main_content'] = 'cash_cards_on_hand_step1';
$this->load->view('dashboard', $data);
}
它以1个唯一ID运行。 有任何想法吗?
您正在for
循环中修改$id
变量。 而不是
for ($i=0; $i < count($id); $i++) {
$id = $id[$i];
$row = $get_cash_card->by_id($id);
echo $row[0]['id'] . "<br/>";
}
你需要做
for ($i=0; $i < count($id); $i++) {
$newid = $id[$i]; //Change this line
$row = $get_cash_card->by_id($newid);
echo $row[0]['id'] . "<br/>";
}
因为您在第一次迭代中覆盖了$id
的值,这意味着for
循环的$i < count($id)
部分不再成立,因此循环停止。
另外,您不应该在视图中访问模型,这是您应该在控制器中执行的操作
这可能对你有用
for ($i=0; $i < count($id); $i++) {
$row = $get_cash_card->by_id($id[$i]);
echo $row[0]['id'] . "<br/>";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.