[英]Accessing Array Element in php codeigniter does not work
在codeigniter中访问数组元素“ id”不起作用。 无法找到可能的失败原因。 如果有人可以显示出正确的操作方法会有所帮助,
我的观点
<form name ="userinput" onsubmit="return test()" action="<?php echo base_url(); ?>index.php/patient/saveNewExaminationChart/<?php echo $pd['id']; ?>" method="post">
<?php echo $pd['id']; ?>
<?php echo $pd['id']; ?>
对于这一部分,我想获得由控制器传递来查看的ID号。
我的控制器
public function editPeriodicalDetails(){
$pid = $this->uri->segment(3);
$this->load->model('patient_model');
$patient['pd'] = $this->patient_model->getPeriodicalChart($pid);
$this->load->helper('url');
$this->load->view('Header');
$this->load->view('Patient/editPeriodicalExam',$patient);
$this->load->view('Footer');
}
我的模特
public function getPeriodicalChart($id){
$this->load->database();
$this->db->select('*');
$this->db->from('periodical_examination a');
$this->db->join('patient p','p.id = a.pid');
$this->db->where('a.pid',$id);
$query = $this->db->get();
return $query->result();
}
在模型中
return $query->result_array();
在控制器中
$result= $this->patient_model->getPeriodicalChart($pid);
$patient = $result[0]['pd']; # zero indexed array pointer
result()是递归的,因为它返回一个std类对象,而result_array()仅返回一个纯数组,因此result_array()是性能方面的选择。 速度差异不大。任何具有php基本知识的人都将易于阅读代码
代替这行
$query = $this->db->get();
return $query->result();
(只需使用它就非常容易理解)
return $this->db->get()->result_array();
它应该是一个对象。 尝试这个
<?php echo $pd->id; ?>
如果可能有一个以上的结果集,请尝试此
<?php echo $pd[0]->id; ?>
$query->result();
是一个对象而不是数组..要返回一个数组,您应该使用
$query->result_array();
在这里,您使用了return $query->result();
在模型中,然后通过Controller将所有表发送到视图。 太好了 一切都很好。 现在,您只需在视图页面中使用以下代码echo
显id
。
视图(editPeriodicalExam)
<?php
foreach($pd as $item){
echo $item['id'];
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.