我正在使用 CodeIgniter,并且正在处理数组,我需要在 Controller 中进行 mysql 数据库查找,然后将数组传递到 View ,以便我可以在 View 中循环数组以显示列表结果。我需要数组每行包含两个字段以及 ID 和名称,例如
row1 ID = 1,名称 = 你好 row2 ID = 2,名称 = 世界
我一直在网上查找,我可以通过仅传递 ID 或名称来做到这一点,但我不知道如何在数组中传递它们。
//get open cases
$this->db->where('UserID',$this->session->userdata('ID'));
$query = $this->db->get('cases');
if ($query->num_rows() > 0)
{
$cases = array();
foreach ($query->result() as $row)
{
// ive tried this
$cases[]=$row->ID,$row->CaseName;
// and this
$cases[]=($row->ID,$row->CaseName);
//but they both dont work :(
}
我可以理解基本数组,但以前从未真正使用过它们,现在我使用 CI,我不能简单地将 sql 查找放在 View 中并在那里循环。我知道 sql 查找应该在模型中,但我现在对此并不大惊小怪,只是想填写数组并传递给 View ,任何帮助将不胜感激。
//编辑下面的函数工作正常,但这就是你应该如何使用 CI
function viewCase()
{
$caseID = $this->uri->segment(3);
$this->db->where('ID',$caseID);
$this->db->where('UserID', $this->session->userdata('ID'));
$query = $this->db->get('cases');
if ($query->num_rows() == 1)
{
foreach ($query->result() as $row)
{
$data['caseID']= $row->ID;
$data['caseName'] = $row->CaseName;
$data['fileName'] = $row->FileName;
$data['statusID'] = $row->Status;
$data['statusName']= "not set yet";
//we need the status friendly name
$this->db->where('ID', $data['statusID']);
$query2 = $this->db->get('case_status');
if ($query->num_rows() == 1)
{
foreach ($query2->result() as $row2)
{
$data['statusName']=$row2->Name;
}
}
}
$data['fName']= $this->session->userdata('fName');
$data['lName']= $this->session->userdata('lName');
$data['email']= $this->session->userdata('email');
$data['fullName']= $this->session->userdata('fName')." ".$this->session->userdata('lName');
$this->load->view('head',$data);
$this->load->view('header_logged_in',$data);
$this->load->view('nav');
$this->load->view('view_case_view',$data);
$this->load->view('footer');
}
else
{
$data['fName']= $this->session->userdata('fName');
$data['lName']= $this->session->userdata('lName');
$data['email']= $this->session->userdata('email');
$data['fullName']= $this->session->userdata('fName')." ".$this->session->userdata('lName');
$this->load->view('head',$data);
$this->load->view('header_logged_in',$data);
$this->load->view('nav');
$this->load->view('view_case_error_view');
$this->load->view('footer');
}
}
最佳答案
foreach ($query->result() as $row)
{
$cases[]=array ($row->ID,$row->CaseName);
// or $cases[] = array ('id' => $row->ID, 'name' => $row->CaseName);
}
关于php - 将具有多个字段的数组传递给 codeigniter 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4969829/