私はMVCフレームワーク(CodeIgniter)を使用しています。私の見解では、2つのアレイがあります。1つは通常のレポート用で、もう1つは管理レポート用です。
<div id="queries">
<center><strong>Report Generator</strong></center>
<br />
<?php
$performance = array(
'' => 'Click Here',
'1' => 'Student Total Wait',
'2' => 'Counselor Performance Per Session',
'3' => 'Average Counselor Performance',
);
$admin = array(
'' => 'Click Here',
'4' => 'Reasons For Visit',
'5' => 'Aid Years',
);
echo form_open('reports_controller/generate');
echo "<p><strong>Performance Reports</strong></p>";
echo form_dropdown('performance', $performance);
echo "<p><strong>Administrative Reports</strong></p>";
echo form_dropdown('admin', $admin);
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo form_submit('submit', 'Generate Report');
?>
</div>
これら2つのアレイはすべて、ドロップダウンに入力されます。
今、私の問題は、それが実際にコントローラーに投稿されたときに発生します。私のコントローラーには、投稿された値が存在するかどうかを確認するforeachループがあります。存在する場合は、ユーザーが選択したものに基づいてモデル(SQLクエリ)を動的にプルします。
コントローラー:
class Reports_controller extends MY_logincontroller {
function generate() {
$this -> load -> model('reports_model');
$reportsfunction = array('1' => 'studenttotalwait()', '2' => 'counselorperformance()', '3' => 'avgperformance()', '4' => 'reasons()', '5' => 'aidyears()', );
foreach ($reportsfunction as $model_function) {
$data['returns'] = $this -> reports_model -> $model_function;
$data['main_content'] = 'reports/generate';
$this -> load -> view('includes/js/js_template', $data);
}
}
私の質問は、モデルでクエリされているフィールドセットに対応するビューを実際に動的にロードする方法です。コントローラアレイがどのように機能しているかに自信があります。私はまだコンプを服用していません。科学1なので、私は誤った方法でphpを学んでいます。
これが適切な質問であることを願っています。
編集 :
1が投稿された値であるかどうかをハードコーディングして、このモデルデータを使用してそのようなビューを出力することはできますが、プロジェクトを実行しながら、作業を節約して多くのことを学びたいと思います。-わがまま-ごめんなさい。