【问题标题】:Passing array variable to View in Codeigniter将数组变量传递给 Codeigniter 中的视图
【发布时间】:2014-05-13 06:42:56
【问题描述】:

美好的一天! 我有这段代码,但我不知道我的代码有什么问题,因为我不能echo the value of variable in view

这是我的控制器:

public function generate()
{
    $name    =   $this->input->post('name');

    $this->data['generated'] = $this->user_models->generate_name($name);
    $this->load->view('templates/header');
    $this->load->view('generated_user_views', $this->data);
    $this->load->view('templates/footer');
}

模型:

function generate_name($name)
{
    $this->db->select('*');
    $this->db->from('user');
    $this->db->where('name', $name);
    $query = $this->db->get();

    return $query->result_array();
}

在视图中:

<?php
    $view_name = $generated['name'];
    $view_department = $generated['department'];
?>
<div class="form-group">
    <label for="name" class="col-sm-2 control-label emp">Name</label>
    <div class="col-sm-10">
        <input type="text" class="typeahead form-control" id="name" placeholder="Name" name="name" autocomplete="off"><?php echo $view_name; ?></input>
    </div>
</div>
<div class="form-group">
    <label for="department" class="col-sm-2 control-label emp">Department</label>
    <div class="col-sm-10">
        <input type="text" class="typeahead form-control" id="department" placeholder="Department" name="department" autocomplete="off"><?php echo $view_department; ?></input>
    </div>
</div>

我不知道为什么我总是有这样的错误:

遇到 PHP 错误 严重性:通知 消息:未定义的索引:名称 文件名:views/generated_user_views.php 行号:12

遇到 PHP 错误 严重性:通知 消息:未定义索引:部门 文件名:views/generated_user_views.php 行号:13

【问题讨论】:

  • 你能在传递给视图之前发布 $this->data 的值是多少吗?

标签: php codeigniter


【解决方案1】:

在您的模型中,您从表中选择所有数据,因此返回了一个多维数组,鉴于您需要循环遍历您的结果,see docs

foreach ($generated as $row)
{

   echo $row['name'];
   echo $row['department'];
} 

或者我想如果您需要表中的单个记录,那么您可以在模型中使用 $query-&gt;row_array();,并且您可以访问它们

   $view_name =$generated['name'];
   $view_department = $generated['department'];

【讨论】:

    【解决方案2】:

    试试这个:

    $name = $this->input->post('name');
    $department = $this->user_models->generate_name($name);
    
    $this->data = array('generated' => array('name' => $name, 'department'=> $department);
    

    【讨论】:

    • 方法 generate_name 从用户表返回数组,不仅仅是部门值
    猜你喜欢
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多