0

したがって、クエリを実行して結果セットをビューに戻そうとしていますが、<?php foreach ($form_records as $form_record) : ?><?php echo $form_record['fname']; ?> <?php endforeach; ?>そうすると、未定義の変数: form_records が取得されます。クエリを実行すると何が間違っているのですか (form_manager から fname、lname を選択し、username = "tester")、行が正常に返されるので、クエリは機能しています。

モデル

 function retrieve_form_record($username) {
    $this->db->select('fname,lname');
    $this->db->from('form_manager');
    $this->db->where('username', $username); 

    $query = $this->db->get();

        if ($query->num_rows() > 0)
        {
            $form_records= $query->result_array();
              return $form_records;
        }

            else {

            return false;
            }

      }
    }

コントローラ

function load_saved_forms() {
      $username = $this->tank_auth->get_username();
      $form_records = $this->Form_model->retrieve_form_record($username);
      $this->load->view('welcome',$form_records);
                            }   
4

2 に答える 2

2

問題は、パラメータをviewに渡す方法です。次の行を変更します。

   $this->load->view('welcome',$form_records);

に :

   $data['form_records'] = $form_records; //<<--pass data to view right way.
   $this->load->view('welcome',$data);

次に、この内部ビューを実行できます。

<?php foreach ($form_records as $form_record) : ?>
   <?php echo $form_record['fname']; ?>
<?php endforeach; ?>

$form_recordsinは、渡したview配列のインデックスであることに注意してください$data$this->load->view('welcome',$data);

于 2013-04-30T00:12:30.720 に答える
1

$form_records はおそらく配列であり、codeigniter のドキュメントを見ると、ビューに渡されるときにそれらが配列要素に変換されます。

このリンクを参照してください: http://ellislab.com/codeigniter/user-guide/general/views.html

しかし、コントローラーでこれを行った場合、次のように言っています。

$data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands');
$this->load->view('blogview', $data);

ビューで次のように「todo_list」を使用できます。

<?php foreach ($todo_list as $item):?>

<li><?php echo $item;?></li>

<?php endforeach;?>
于 2013-04-30T00:04:45.353 に答える