2009-05-26 119 views
6

填充形式在控制器中,我有...笨從數據庫

function update($id = null) 
{ 
    $this->load->database(); 

    // more code 

    $data = array(); 
    $data = $this->db->get_where(
      'users', 
      array(
      'id' => $id 
      ) 
     ); 
    $data = $data->result_array(); 
    $data = $data[0]; 

    // more code 

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

在視圖中,我有...

<h5>Username</h5> 
<input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" /> 

<h5>Email</h5> 
<input type="text" name="email" value="<?php echo set_value('email'); ?>" size="50" /> 

<h5>Email Confirmation</h5> 
<input type="text" name="emailconf" value="<?php echo set_value('emailconf'); ?>" size="50" /> 

<h5>Password</h5> 
<input type="text" name="password" value="<?php echo set_value('password'); ?>" size="50" /> 

<h5>Password Confirmation</h5> 
<input type="text" name="passconf" value="<?php echo set_value('passconf'); ?>" size="50" /> 

SET_VALUE()不讀書$數據

搜索值= 「」

http://codeigniter.com/forums/viewthread/103837/

海報只使用值「=」中「」之間的set_value()函數。

我想知道如何做同樣的事情,但我無法得到它的工作。幫幫我?

+1

爲什麼要在控制器中取代數據? – eyelidlessness 2009-11-29 20:39:12

+3

,因爲他(我們)可以......並且想要。 ;) – 2011-04-18 04:17:21

+0

不錯的一個@StephenCox – 2014-01-24 07:46:21

回答

4

我認爲你沒有正確地將值傳遞給視圖。

在控制器的說:

$data = $this->db->get_where(
     'users', 
     array(
     'id' => $id 
     ) 
    ); 
$data = $data->result_array(); 

$data['result'] = $data[0]; 

那麼視圖內:

<h5>Password Confirmation</h5> <input type="text" name="passconf" value="<?php echo $result['passconf']; ?>" size="50" /> 
3

試試這個:

控制器:

$data = array(); 
$data = $this->db->get_where(
     'users', 
     array(
     'id' => $id 
     ) 
    ); 
$data = $data->result_array(); 
$data['view_username'] = $data['username']; 

使用的$ date [代替0],我使用列名稱,但是這是你的決定

查看:

<h5>Username</h5> <input type="text" name="username" value="<?=$view_username?>" size="50"/> 

<?= =>是PHP短標記,在CodeIgniter用戶指南中閱讀它

問候,

Sylvio

21

SET_VALUE需要2個參數。字段名稱和值。

您需要:

value="<?php echo set_value('username', $username); ?>" 

假設你正在傳遞$數據[ '用戶名']等

1

SET_VALUE()的設計與CI表單驗證工作。

第一次加載表單時,set_value()可以使用第二個參數填充默認值。表單提交後,您可以再次顯示錶單,並且該字段將填充提交的值,只要它被檢查進行驗證。

另請參見http://codeigniter.com/forums/viewthread/96617/ - 有幾個set_value()錯誤,文檔沒有說明。

迄今爲止適用於CI 1.7.3。

-1

嘗試在控制器中爲默認值分配$_POST變量,例如,$_POST['email'] = 'email';