0

初めて CI フレームワークを使用していますが、助けが必要です。

私は既存の Web サイトを CI フレームワークに移行しており、CI のチュートリアルを順を追って順を追って実行してきましたが、乗り越えられないように見える障害がいくつかあります...

私のデータベース テーブルには「国」と「都市」の 2 つの列があり、すべての行を国別にグループ化し、その国をヘッダーとして出力し、対応するすべての都市をその下のリストとして出力する結果をビュー ファイルに返したいと考えています。該当する国。

すなわち。

<h1>England</h1>
<ul>
<li>Liverpool</li>
<li>London</li>
<li>Sheffield</li>
</ul>

以前は CI フレームワークがなくても、クエリを記述し、結果を返し、変数を再定義し、if ステートメントをいくつか挿入して目的の結果を得ることができましたが、CI の mvc 構造により、そうすることができなくなりました...

このミステリーの鍵を集めるのはコントローラーであり、データを管理してビューファイルで使用するためのある種の配列を作成します-誰かが例を手伝ってくれますか?

私の既存のコントローラーは次のとおりです。

<?php
class Home extends CI_Controller {

    public function index()
    {
        $this->load->model('Default_model');
        $data['query'] = $this->Default_model->getResults();
        $this->load->view('page_view', $data);
    }
}

既存のビュー ファイルは次のとおりです。

<?php if (isset($query)):?>
<?php foreach ($query as $row):?>
<h1><?=$row->country?></h1>
<ul>
<li><?=$row->city?></li>
</ul>
<?php endforeach;?>
<?php endif;?>

そしてモデル:

function getResults()
{
    $query = $this->db->query('SELECT * FROM events GROUP BY country, city ORDER BY country, city');
    return $query->result();
}

このタイプのクエリが CI mvc 構造内でどのように処理されるかを示すために、誰かが例を手伝ってくれますか?

現在、上記のコードの返される結果は次のとおりです。

<h1>England</h1>
<ul>
<li>Liverpool</li>
</ul>
<h1>England</h1>
<ul>
<li>London</li>
</ul>
<h1>England</h1>
<ul>
<li>Sheffield</li>
</ul>

ありがとう!

4

1 に答える 1

0

試してみる

<?php 
$country =$query[0]->country;
$index=1;
if (isset($query)):?>
<?php foreach ($query as $row):?>

<?php if($country==$row->country){ 

if($index==1){ ?> 
<h1><?=$row->country?></h1>
  <?php }
  $index++;
 }else{  
  $country=$row->country; 
 $index++;
 ?>
 <h1><?=$row->country?></h1>
<?php } ?>

<ul>
<li><?=$row->city?></li>
</ul>
<?php endforeach;?>
<?php endif;?>
于 2013-07-01T08:02:49.967 に答える