2017-07-12 12 views
1

2つの結合テーブルからデータを取得しようとしています。リストの見出しを収集していて、リストのデータを収集しています。ループで同じ見出しのデータをグループ化する方法

モデルのコード:

function view_searching_type_items() 
{ 
    $this->db->select("searching_type.searchtype_name, search_type_item.st_item_id_pk, search_type_item.searchtype_itemname"); 
    $this->db->from('searching_type'); 
    $this->db->join('search_type_item', 'search_type_item.st_id_fk = searching_type.st_id_pk'); 
    $query = $this->db->get(); 
    return $query->result_array(); 
} 

コントローラー:

$url1 = 'http://localhost/pakistanmenu/index.php/Restaurant/ViewSearchingTypeItems'; 
    $curl_hand = curl_init($url1); 
    curl_setopt($curl_hand, CURLOPT_TIMEOUT, 5); 
    curl_setopt($curl_hand, CURLOPT_CONNECTTIMEOUT, 5); 
    curl_setopt($curl_hand, CURLOPT_RETURNTRANSFER, true); 
    $data1 = curl_exec($curl_hand);// json_decode($data) 
    curl_close($curl_hand); 
    $result['searchingtype'] = (array) json_decode($data1,true); 

    $this->load->view('header'); 
    $this->load->view('index',$result); 
    $this->load->view('footer'); 

コードの表示:

<?php foreach ($searchingtype as $searchingtyp):?> 

<ul class="list-group checked-list-box"> 
    <h1 class="page-header leftsidebar-heading"><?php echo $searchingtyp['searchtype_name'];?></h1> 

    <li class="list-group-item" data-style="button" style="cursor: pointer;"> 
     <span class="state-icon glyphicon glyphicon-unchecked"> 

     </span> 

     <?php echo $searchingtyp['searchtype_itemname'];?> 

     <input type="checkbox" class="hidden"> 

    </li> 

親切C私はこのコードの出力を示している下の画像をひどく、また、私は何が必要な出力を描く必要がありますおかげで、親切に私を助けてください。おかげ

enter image description here

答えて

0

ちょうどthaの姓を格納し、新しい名前が異なる場合のみ、それを印刷します。それが起こると新しいリストを作成し、グループごとに異なるリストを作成します。

<?php 
// Define our test variable 
$lastName = null; 

foreach ($searchingtype as $searchingtyp): 
?> 

    <?php 
    if ($lastName != $searchingtyp['searchtype_name']): 
     // It's not the same name 
     if ($lastName != null): 
      // Close the previous list (except from the first iteration). 
     ?> 
      </ul> 
     <?php 
     endif; 
     ?> 

    ?> 
     <ul class="list-group checked-list-box"> 
      <li><h1 class="page-header leftsidebar-heading"><?php echo $searchingtyp['searchtype_name'];?></h1></li> 
    <?php 
     // Store the current name so we can check again in the next iteration 
     $lastName = $searchingtyp['searchtype_name']; 
    endif; 
    ?> 

// The rest of your code.. just move the </ul> after the loop. 

<?php endforeach ?> 

</ul> 
+0

はい先生は今、見出しの出力が繰り返されていないが、私が示されているようどのように私は、同じ見出しを持っているデータのリストをグループにすることができます@ Magnus Eriksson – Bangash

+0

ありがとう、あなたはすばらしいです、あなたの答えは魅力のように働いています、あなたは私の時間を節約しました。 @ Magnus Eriksson – Bangash

+0

心配はいりません。可能であれば、upvoteにも気をつけてください。 :-) –

0

クイックや汚れ:

チェックのタイトルは、以前に使用されたとは異なります。ループの最後で

if($title != $lasttitle){ 
echo 'title foo'; 
} 

$lasttitle = title; 
関連する問題