如何在控制器和视图之间建立连接?

时间:2016-02-12 04:31:35

标签: php codeigniter

我一直在努力并且没有得到正确的解决方案。我想要做的是我在控制器中有一个从模型中获取数据的函数。 这是我的控制器功能:

function index() {

    $data['results1'] = $this->RetrieveData_model->GetData();

    $this->load->view('ViewData',$data);


    }

我想在我的编辑视图中访问该$ data ['results1']变量以自动填充字段。这是我的观点:

<div id="container">
            <?php echo form_open('insert_ctrl/updateData/'); ?>
            <h1>Update Data Into Database Using CodeIgniter</h1><hr/> 
            <?php if (isset($message)) { ?>
                <CENTER><h3 style="color:green;">Data updated successfully</h3></CENTER><br>
            <?php } ?>
                <?php echo form_label('Student Name :'); ?> <?php echo form_error('dname'); ?><br />
            <?php echo form_input(array('id' => 'dname', 'name' => 'dname', 'value' => $results1[0]->Student_Name)); ?><br />

            <?php echo form_label('Student Email :'); ?> <?php echo form_error('demail'); ?><br />
            <?php echo form_input(array('id' => 'demail', 'name' => 'demail', 'value' => $results1[0]->Student_Email)); ?><br />

            <?php echo form_label('Student Mobile No. :'); ?> <?php echo form_error('dmobile'); ?><br />
            <?php echo form_input(array('id' => 'dmobile', 'name' => 'dmobile', 'placeholder' => '10 Digit Mobile No.', 'value' => $results[0]->Student_Mobile)); ?><br />

            <?php echo form_label('Student Address :'); ?> <?php echo form_error('daddress'); ?><br />
            <?php echo form_input(array('id' => 'daddress', 'name' => 'daddress','value' => $results1[0]->Student_Address)); ?><br />

        <?php echo form_hidden( array('id' => 'studentId', 'name' => 'studentId','value' => $results1[0]->Student_id) ); ?><br />

            <?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?>
            <?php echo form_close(); ?><br/>
           <div id="fugo">

            </div>
     <button type="button" onclick="window.location='<?php echo base_url();?>ViewData_ctrl/index'">
            View data Record
     </button>

        </div>

当我在视图中访问“result1”时,它给出了错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: results1

Filename: views/EditView.php

Line Number: 16

Backtrace:

File: D:\dev\htdocs\CI2\application\views\EditView.php
Line: 16
Function: _error_handler

File: D:\dev\htdocs\CI2\application\controllers\insert_ctrl.php
Line: 104
Function: view

File: D:\dev\htdocs\CI2\index.php
Line: 292
Function: require_once

请帮助我如何解决这个问题,因为我是Codeignitor的新手。

5 个答案:

答案 0 :(得分:2)

在控制器中尝试使用错误的视图名称

function index() {

    $data['results1'] = $this->RetrieveData_model->GetData();

    $this->load->view('EditView',$data);


    }

和你的视图Var_dump你的数组。

 <?php
var_dump($results1);
?>

答案 1 :(得分:1)

检查您的文件名

.dropdown-menu li {
    width: 160px !important;
    height: 30px !important;
}

答案 2 :(得分:0)

您的editview文件中还有一个错误: 你跳过了#34; 1&#34;在$ results1数组中,它可以帮助你

$results1[0]->Student_Mobile;

答案 3 :(得分:0)

试试这个答案。你很容易得到结果

控制器中的

function index() {

    $data['results1'] = $this->RetrieveData_model->GetData();

    $this->load->view('ViewData',$data);


    }

在视图页面

<?php
foreach($results1 as $row)
{
    echo $row->id; //echo your fields like this
}
?>

答案 4 :(得分:0)

在视图页面中,您可以使用

 <?php echo form_open('insert_ctrl/updateData/'); ?>
    <?php
    foreach($results1 as $row)
    {

   //try this to get details

    echo $row->Student_Address;
    echo $row->Student_id;


    //or try this        

    echo $row['Student_Address'];
    echo $row['Student_id'];
    }
    ?>