Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms codeigniter从数据库填充表单_Forms_Codeigniter - Fatal编程技术网

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值。