2012-02-20 9 views
0

よく問題があります。私は名前のリストを構築しています。この名前はmysqlクエリから取得されます。コントローラはモデルからそれらの名前を受け取り、ビューとビューに渡すとリストにそれらを出力します。名前をクリックすると別のページが開きます名前に関するすべての詳細(電話、ecc ...)。私の問題は、私はこれは私が行う方法です私はリストを作成する方法を知っているthis.I平均を行うことができる方法です。codeigniterのビューからコントローラにデータを渡す

<ul> 

     <?php foreach ($users as $item): ?> 

      <li><a href=""><?php echo $item->name . " " . $item->surname; ?></a></li> 

     <?php endforeach; ?> 

</ul> 

私は詳細が含まれているページに移動する必要が名前と名字のリンクをクリックするとその名前と姓の名前。どのように私はこれを行うことができますか?私は、名前と姓をビューからコントローラに渡してクエリを実行する必要がありますか?

+0

それは少し曖昧ですが、私はあなたがそのHREFにGET変数を送信すると思うし、その後、コントローラは、これらを読んで、魔法を行うだろう。 –

+0

@AramKocharyanそのhrefでGET変数を送信するのはどういう意味ですか?どのようにできるのか?例をしてくださいできますか? –

答えて

2

href="users.php?uid=123" 

users.phpうGET変数uidを使用して、モデルからユーザー情報を要求し、その情報をビューに伝達します。 GET変数に読むと、そのようなものだ:

if (isset($_GET['uid'])) { 
    $uid = $_GET['uid']; 
    // Load info from model and present in view 
} else { 
    // Handle invalid or unspecified users, perhaps show all available users 
} 

あなたはSureroundは、URLがきれいにするために使用してきたようなApacheのmod_rewriteのルールを採用することができる基本的な機能を構築していたら。

1

各名前の一意のIDは、URL "/ users/getuser/1"を使用して渡す必要があります。あなたのコントローラが "users"と呼ばれるなら、getuserという関数を作り、$ this-> uri-> segment(3)を使ってURLからIDを取得します。これを変数に格納してモデルに渡し、レコードの詳細を取得してから、ユーザー詳細ビューを読み込むことができます。

私はあなたがあなたのコントローラとビューを構造化しているかどうかはわかりませんが、あなたはuidが固有のユーザーIDでユーザーのためにこのような構造を使用することができ
function getuser() 
{ 
    $userID = $this->uri->segment(3); 

    // Then just load your model pass your $userID and load your view 
} 

In your href you would just output <?= "https://stackoverflow.com/users/getuser/" . $item->id; ?> 
2

はこのようにあなたのリンクを作成:

<li> 
    <a href="/user/get_user_details/<?php echo $item->name; ?>"> 
    <?php echo $item->name . " " . $item->surname; ?> 
    </a> 
</li> 

が、これは、コントローラのユーザー、メソッドget_user_detailsに行きますし、メソッドのパラメータとして$アイテム - >名前を渡します。このアイテム(またはあなたが渡したアイテムのプロパティ)を使用して、そのアイテムの詳細を表示します。

関連する問題