2012-02-20 278 views
0

以及我有一個問題。我建立了一個名稱列表。這個名字是從一個mysql查詢中獲得的。控制器從模型中接收這些名稱,並在傳遞給視圖和視圖之後將它們打印到列表中。當您單擊名稱時,另一個頁面打開顯示關於名稱(電話,ecc ...)的每個細節。我的問題是我怎麼能幹這事意味着我知道如何創建一個列表,這是我該怎麼辦:將數據從視圖傳遞到codeigniter中的控制器

<ul> 

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

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

     <?php endforeach; ?> 

</ul> 

當我點擊我要轉到包含詳細信息的頁面的名稱和姓的鏈接這名字和姓氏。我該怎麼辦?我必須將名字和姓氏從視圖傳遞給控制器​​並執行查詢?

+0

這有點含糊,但我認爲你會發送在該href GET變量,然後控制器會讀這些,做魔術。 – 2012-02-20 00:07:11

+0

@AramKocharyan你是什麼意思發送GET變量在該href?我能怎麼做?可以舉個例子嗎? – 2012-02-20 00:21:44

回答

2

我不知道你是如何構建你的控制器和視圖,但你可以使用這樣的結構,因爲這對於用戶來說,其中uid是唯一的用戶ID:

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 
} 

一旦你建立你可以使用Apache的mod_rewrite的規則,如Sureround已用於製作網址漂亮的基本功能。

1

您應通過URL爲例如「/ users/getuser/1」傳遞每個名稱​​的唯一標識。如果您的控制器被稱爲「用戶」,那麼您將創建名爲getuser的函數並使用$ this-> uri-> segment(3)從URL中檢索ID。 YOu然後可以將其存儲到您傳遞給模型的變量中以獲取記錄的詳細信息,然後加載您的用戶詳細信息視圖。

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並通過$用品 - >名作爲參數的方法。使用這個(或你通過的物品的任何屬性)來顯示該物品的細節。

相關問題