2017-07-27 111 views
1

我有兩個餐桌類型和膳食。我想打印與其膳食類型相對應的每餐。Codeigniter多個foreach循環

錯誤是僅示出最後膳食膳食型僅

視圖頁是等

查看

<?php 
foreach ($mealstype as $type) { 
    ?> 
    <h2><?php echo $type->type; ?></h2> 
    <table class="table table-bordered"> 
     <tr> 
      <th>Meals</th> 
      <th>Price</th> 

     </tr> 
    </thead> 
    <tbody> 
     <?php 
     foreach ($meals as $meals_get) { 
      ?> 
      <tr> 
       <td><?php echo $meals_get->item; ?></td> 
       <td><?php echo $meals_get->price; ?></td> 

      </tr> 
     <?php } ?> 
     <tr> 
      <td> <input type="checkbox" class="ck" value="total"> Toal</td> 
      <td>2050</td> 

     </tr> 
    </tbody> 
    </table> 
    <?php 
} 
?> 

控制器

function availability() { 

    $this->data['mealstype'] = $this->Home_model->mealstype(); 
    foreach ($this->data['mealstype'] as $type) { 
     $typeid = $type->id; 
     $meals[] = $this->Home_model->meals($typeid, $hotel_id); 
    } 
    $this->data['meals'] = $meals[]; 
    $this->load->view('home2', $this->data); 
} 
+0

重新與您的模型功能 – user4419336

+0

編輯您的問題任何答案都有幫助嗎? – user4419336

回答

1

請檢查這個答案

控制器:

'公共功能的可用性(){

$build_array = array(); 
mealstype= $this->Home_model->mealstype(); 
foreach($mealstype as $row){ 
    $build_array[] = array(
    'parent_array' => $row, 
    'child_array' =>$this->Home_model->meals($row->id,$hotel_id), 
    'child_sum'  =>$this->Home_model->meals_sum($row->id,$hotel_id) 
    ); 
$this->data['build_array'] = $build_array;` 

和視圖頁面是這樣的:

查看:

`

<h2><?php echo $type['parent_array']->type;?></h2> 
<table class="table table-bordered"> 
    <tr> 
     <th>Meals</th> 
     <th>Price</th> 
    </tr> 
</thead> 
<tbody> 
<?php 
foreach ($type["child_array"] as $meals_get) {?> 
    <tr> 
     <td><?php echo $meals_get->item;?></td> 
     <td><?php echo $meals_get->price;?></td> 
    </tr> 
<?php }?> 
    <tr> 
     <td> Toal</td> 
     <td>2050</td> 
    </tr> 
<?php } ?>` 
0

Ť ry替換爲:

function availability() { 
    $data = array(); 
    $data['mealstype'] = $this->Home_model->mealstype(); 
    foreach ($data['mealstype'] as $type) { 
      $typeid = $type->id; 
      $type->meals = $this->Home_model->meals($typeid,$hotel_id); 
    } 
    $this->load->view('home2', $data); 
} 

檢查它和print_r($ data);是什麼原因設定的,鑑於文件的基礎上..

+0

確保你從模型中返回$ query-> result_array() – Madhur

0

控制器,勾選 「HOTEL_ID」

function availability() 
{ 
    $this->data['mealstype'] = $this->Home_model->mealstype(); 

    if(count($this->data['mealstype']) > 0) 
    { 
     foreach($this->data['mealstype'] as $type) 
     { 
      $type->meals = $this->Home_model->meals($type->id, $hotel_id); // hotel_id no declared??? 
     } 
    } 
    $this->load->view('home2', $this->data); 
} 

查看

<?php if(count($mealstype) > 0): foreach($mealstype as $type): ?> 
<h2><?php echo $type->type; ?></h2> 
<table class="table table-bordered"> 
    <thead> 
     <tr> 
      <th>Meals</th> 
      <th>Price</th> 
     </tr> 
    </thead> 
    <tbody> 
     <?php if(count($type->meals) > 0): foreach($type->meals as $meals_get): ?> 
     <tr> 
      <td><?php echo $meals_get->item; ?></td> 
      <td><?php echo $meals_get->price; ?></td> 
     </tr> 
     <?php endforeach; endif; ?> 
     <tr> 
      <td><input type="checkbox" class="ck" value="total"> Toal</td> 
      <td>2050</td> 
     </tr> 
    </tbody> 
</table> 
<?php endforeach; endif ?> 
0

你有$ HOTEL_ID我不是確定你在哪裏設置,我不能在其他地方看到它。

我們還需要看到你的模型

public function availability() { 

    $data['mealstypes'] = array(); 

    $mealstypes = $this->home_model->mealstype(); 

    foreach ($mealstypes as $mealstype) 
    { 
     $meals = array(); 

     $meals_results = $this->home_model->meals($mealstype->id, $hotel_id); 

     foreach ($meals_results $meal_result) { 
      $meals[] = array(
       'mealstype' => $meal_result->mealstype, 
       'price' => $meal_result->price 
      ); 
     } 

     $data['mealstypes'][] = array(
      'type' => $mealstype->type 
      'meals' => $meals 
     ); 
    } 

    $this->load->view('someview', $data); 
} 

查看

<?php foreach ($mealstypes as $mealstype) {?> 

<h2><?php echo $mealstype['type'];?></h2> 

<?php foreach ($mealstype['meals'] as $meal) {?> 
    <?php echo $meal['mealstype'];?> 

    <?php echo $meal['price'];?> 
<?php }?> 

<?php }?>