Webサイトのさまざまなページに表示したいデータベースのデータのテーブルがあります。理想的には、インクルードなどを実行してデータを取得し、htmlテーブルを返すものが必要です。これを使用する必要があるたびに、htmlとデータは同じになります。
私はこれを行うための最良の方法を知りたかった
ありがとう
編集
これが役立つ場合は、Djangoの「包含」カスタムタグに似たもの...
Webサイトのさまざまなページに表示したいデータベースのデータのテーブルがあります。理想的には、インクルードなどを実行してデータを取得し、htmlテーブルを返すものが必要です。これを使用する必要があるたびに、htmlとデータは同じになります。
私はこれを行うための最良の方法を知りたかった
ありがとう
編集
これが役立つ場合は、Djangoの「包含」カスタムタグに似たもの...
you need to pass the variable $data to the view method.
This is your code:
function load_my_view(){
$this->load->model('my_table');
$data['my_results'] = $this->my_table->my_data();
$this->load->view('my_view');
}
Please change it to this in order to load the $data into the view:
function load_my_view(){
$this->load->model('my_table');
$data['my_results'] = $this->my_table->my_data();
$this->load->view('my_view',$data);
}
モデル内の関数を使用して、必要なデータをフェッチする必要があります。コントローラはモデル関数を呼び出し、返された情報をビューに送信します。Codeigniterで従来のphpインクルードを使用する必要はありません。ユーザーガイドのレビューをお勧めします。それは非常に優れており、CIで開発するために知っておく必要のあるすべての基本的なことを教えてくれます。ただし、開始するには、モデル、ビュー、およびコントローラーを使用する必要があります。URLは、実行するコントローラーとそのコントローラー内の機能をCIに指示します。あなたのURLが
http://www.example.com/my_controller/load_my_view
次に、CIはmy_controllerコントローラーのload_my_view関数内にあることを実行します。関数load_my_viewは、モデル "my_table"をインスタンス化し、データベースクエリを実行し、コントローラーがビューに送信する情報を返します。基本的な例は次のとおりです。
あなたのモデル
class my_table extends CI_Model{
function my_data(){
$this->db->select('column_1,column_2,column_3');
$this->db->from('my_table');
$query = $this->db->get();
if($query->num_rows()>0){
$result = $query->result();
}
else{
$result = false;
}
return $result;
}
}
あなたのコントローラー
class my_controller extends CI_Controller{
function load_my_view(){
$this->load->model('my_table');
$data['my_results'] = $this->my_table->my_data();
$this->load->view('my_view');
}
}
あなたの見解
<ul id = "my_db_results">
<?php foreach($my_results as $result):?>
<li><?php echo $result->column_1." : ".$result->column_2." ( ".$result->column_3." )";?></li>
<?php endforeach;?>
</ul>
キャッシュを使用する良い機会のようです:http://codeigniter.com/user_guide/libraries/caching.html
さて、これが私にとってうまくいったことの1つですが、それは間違いなく完璧ではありません。
モデルを呼び出してデータを取得し、データをテーブルに配置するビューを作成しました。このように、テーブルをどこにでも配置するには、このビューを含めるだけで済みます。
これはMVCフレームワークを持つことのポイントを完全に台無しにすることを理解していますが、うまくいけば、それは私がやりたいことを示しています...そしてそれは機能します