Forms codeigniter从数据库填充表单
在控制器中,我有Forms codeigniter从数据库填充表单,forms,codeigniter,Forms,Codeigniter,在控制器中,我有 function update($id = null) { $this->load->database(); // more code $data = array(); $data = $this->db->get_where( 'users', array( 'id' => $id ) );
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" />
在我看来,我已经
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" />
用户名
我认为您没有正确地将值传递给视图
在控制器中,输入:
$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" />
密码确认尝试以下操作:
控制器:
$data = array();
$data = $this->db->get_where(
'users',
array(
'id' => $id
)
);
$data = $data->result_array();
$data['view_username'] = $data['username'];
我没有使用$date[0],而是使用列名,但这是您的决定
视图:
Usernameset_值需要2个参数。字段名和值
你需要:
value="<?php echo set_value('username', $username); ?>"
value=“”
假设您正在传递$data['username']等。set_value()设计用于CI表单验证
首次加载表单时,set_value()可以使用第二个参数使用默认值填充字段。提交表单后,您可以再次显示表单,如果已检查表单是否有效,则该字段将填充提交的值
另请参见-文档中没有澄清的set_value()的一些问题
到目前为止适用于CI 1.7.3。尝试为控制器中的$\u POST
变量分配默认值,例如$\u POST['email']='email'代码>为什么您要在控制器中而不是模型中提取数据?因为他(我们)可以。。。并且想要……)这是正确的答案。它会处理从数据库预填充表单+填充表单验证用户输入正确的情况,但是如果您像这里建议的那样替换系统/helpers/set_value代码,则还有一件事将为您节省大量时间,以避免在规则不存在时重新填充表单时出现问题。您不能设置任何$u POST值。