繁体   English   中英

在PHP Codeigniter中访问数组元素不起作用

[英]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将所有表发送到视图。 太好了 一切都很好。 现在,您只需在视图页面中使用以下代码echoid

视图(editPeriodicalExam)

<?php
 foreach($pd as $item){
    echo $item['id'];
 } 
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM