使用链接从数据库中查看单个记录

时间:2012-10-05 01:32:47

标签: database codeigniter

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

基本上,当我点击链接时,我会得到一个ID为no的网址。该项目如:

轮询/ index.php的/用户/表决/ 59

不,我正在尝试显示该号码的标题和文字。

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

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

我该如何解决这个问题?对你的帮助表示感谢。 THANKYOU。

2 个答案:

答案 0 :(得分:0)

我不确定你为什么会这样,但试试

 var_dump($polls_item) ;
在您的视图

var_dump($data['polls_item']);
在调用视图之前

你的控制器

答案 1 :(得分:0)

URL

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);   
}