1

動的な2つの選択ボックスを表示したいページがあります.1つの選択ボックスは1つのモデルからデータを取得し、もう1つの選択ボックスは別のモデルからデータを取得します。データを取得した後、両方のクエリまたは結果を保存して表示します1つのビューページに。

2つのクエリの配列でデータを保存したいのですが、これが私のコントローラーです。

 function index(){

    $data['main_content'] = 'stockInView';



    $this->load->model('itemsModel');
    $query2 = $this->itemsModel->getAllItems();
    if ($query2)
    {
        $data['records'] = $query2;

    }

    $this->load->model('categoryModel');
    $query = $this->categoryModel->getAllCategories();
    if ($query)
    {
        $data['records'] = $query;

    }


    $this->load->view('dashboardTemplate/template',$data); 
    }

そして、それらをforeachループで表示します。ただし、表示できるのは2番目のクエリ結果のみであるか、この場合は1つの選択ボックスにカテゴリのみを表示し、他の選択ボックスの項目は表示できません。これは初めて行うため、方法がわかりません。

4

3 に答える 3

2

$data['records'] = $query2;次のように、カテゴリ モデルを操作するときに行を別の$data配列要素キーに変更します。

$this->load->model('itemsModel');
$query2 = $this->itemsModel->getAllItems();
if ($query2)
{
    $data['itemRecords'] = $query2;
}

$this->load->model('categoryModel');
$query = $this->categoryModel->getAllCategories();
if ($query)
{
    $data['categoryRecords'] = $query;
}

$this->load->view('dashboardTemplate/template',$data);

次に、ビューで配列を使用$itemRecords$categoryRecordsて、それらを選択ボックスに出力します。

于 2013-01-12T12:03:18.850 に答える
0

itemsModelcategoryModelの 2 つのモデルがあります。この 2 つのモデルをコンストラクト関数にロードすると、これら 2 つのモデルは常にこのコントローラーにロードされます。したがって、この 2 つのモデルを Construct 関数にロードできます。次のコードを見てください....

public function __construct() {
    parent::__construct();
    $this->load->model('itemsModel');
    $this->load->model('categoryModel');
}

public function index() {

    $data['main_content'] = 'stockInView';

    $query2 = $this->itemsModel->getAllItems();
    if ($query2) {
        $data['itemRecords'] = $query2;
    }

    $query = $this->categoryModel->getAllCategories();
    if ($query) {
        $data['categoryRecords'] = $query;
    }


    $this->load->view('dashboardTemplate/template', $data);
}
于 2013-01-14T04:38:39.613 に答える
0

$data['records'] = $query2; の値を上書きしています。with $data['records'] = $query; したがって、2番目の値しか取得できません。$data['records2'] = $query2; のような異なる配列フィールドを使用する必要があります。$data['records'] = $query2;

于 2013-01-12T10:47:49.493 に答える