php - 将具有多个字段的数组传递给 codeigniter 中的 View

标签 php mysql arrays codeigniter

我正在使用 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/

相关文章:

php - 将Mysql数据插入HTML表

php - 在基本的 Laravel 5.4 教程中找不到类 'Task'

php - 工厂的目的是什么?

PHP 不会重定向

PHP MySQL 无效查询 bool(False)

javascript - 根据具有不同数据类型的两个键按升序对对象数组进行排序

MySQL 在值更改时插入新行

mysql - 如何对名为 order 的表运行查询

c - 如何读取存储在 char 数组中的值?

android - 如何将大量的 json 对象传递到 Json 数组中