0

我在屏幕上显示的每条记录都有一个链接,当我单击链接时,我想在新页面上显示记录的所有详细信息。

基本上,当我单击链接时,我会得到一个带有 id 号的 url。该项目如:

民意调查/index.php/user/vote/59

现在我正在尝试显示该 ID 号的标题和文本。

在我的控制器中,我有一种方法可以做到这一点:

public function display_poll($id=0){

    $this->load->helper('form');  
    $this->load->helper('html'); 
    $this->load->model('polls_model');  

    $data['polls_item'] = $this->polls_model->get($id);

    if (empty($data['polls_item']))
    {
        show_404();
    }

    $this->load->helper('html');
    $data['content'] = $this->load->view('user/view', $data, TRUE);
    $data['id'] = $data['polls_item']['id'];
    $data['title'] = $data['polls_item']['title'];
    $data['text'] = $data['polls_item']['text'];

    $this->load->view('user/vote',$data);   

}

在我看来,我这样做是这样的:

<html>
    <head>
        <h2>Voting Page:</h2>

<script type="text/javascript" src="<?php echo base_url();?>js/jquery.js"></script>      
</head>

<body>

<?php echo form_open('user/vote'); ?>
<?php echo form_hidden($polls_item['id']); ?>
<?php echo $polls_item['title'] ?>
<?php echo $polls_item['text'] ?>

<?php echo form_close(); ?>


</body>

</html>

在我的模型中,我有这样的功能:

function get($id)
{
    $query = $this->db->get_where('polls', array('id'=>$id));
    return $query->row_array();       
}

我收到这种错误:

遇到 PHP 错误

严重性:通知

消息:未定义变量:polls_item

文件名:user/vote.php

行号:27

我怎样才能解决这个问题?对你的帮助表示感谢。谢谢你。

4

2 回答 2

0

我不知道你为什么会得到这个,但试试

 var_dump($polls_item) ;

在你看来和

var_dump($data['polls_item']);

在调用视图之前你的控制器

于 2012-10-05T02:39:15.437 回答
0

网址

polls/index.php/user/vote/59

控制器

public function display_poll()
{
    $this->load->helper('form');  
    $this->load->helper('url'); 
    $this->load->helper('html'); 
    $this->load->model('polls_model');  

    $this->uri->segment(3,0); // 0 means default
    $polls_item = $this->polls_model->get($id);

    if (empty($data['polls_item']))
    {
        show_404();
    }
    $data['polls_item'] =   $polls_item;
    $data['content']    =   $this->load->view('user/view', $data, TRUE);
    $data['id']         =   $polls_item['id'];
    $data['title']      =   $polls_item['title'];
    $data['text']       =   $polls_item['text'];

    $this->load->view('user/vote',$data);   
}
于 2012-10-05T05:54:06.030 回答