0

画面に表示される各レコードのリンクがあり、リンクをクリックすると、レコードのすべての詳細が新しいページに表示されます。

基本的にリンクをクリックすると、ID番号のURLが表示されます。そのアイテムのような:

polls/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

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);   
}
于 2012-10-05T05:54:06.030 に答える