mysql - 使用 CI CRUD 将数据从 DB 传递到更新表单

标签 mysql codeigniter

我正在尝试为 CRUD 事件编写一个紧凑的更新 Controller 。这是基本代码:

Controller :

function update($id)
    {           
        $this->form_validation->set_rules('name','Name','required');            
        $this->form_validation->set_rules('age','Age','required|is_numeric');           
        $this->form_validation->set_rules('country','Country','');

        $this->form_validation->set_error_delimiters('<br /><span class="error">', '</span>');

        if ($this->form_validation->run() == FALSE) {

            //Failed validation or first run
            $data = $this->my_model->get_record($id);

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

        } else {

            //Validation success, update DB

        }
    }

查看:

<?php  

$attributes = array('class' => '', 'id' => '');
echo form_open('my_form', $attributes); ?>

<p>
        <label for="name">Name</label>
        <?php echo form_error('name'); ?>
        <br /><input id="name" type="text" name="name"  value="<?php echo set_value('name'); ?>"  />
</p>

<p>
        <label for="age">Age</label>
        <?php echo form_error('age'); ?>
        <br /><input id="age" type="text" name="age"  value="<?php echo set_value('age'); ?>"  />
</p>

<p>
        <label for="country">Country</label>
        <?php echo form_error('country'); ?>
        <br /><input id="country" type="text" name="country"  value="<?php echo set_value('country'); ?>"  />
</p>


<p>
        <?php echo form_submit( 'submit', 'Submit'); ?>
</p>

<?php echo form_close(); ?>

这是基本结构,但是第一次运行表单时没有经过验证的数据。因此我必须从数据库中获取它。第一次运行时将其传递给 View 的最佳方法是什么?然后,一旦提交表单,如果验证失败,那么我希望失败的数据显示不要再次从数据库重新加载。最好的方法是什么?

最佳答案

您应该有另一种查看方式。然后根据“更新”方法提交您的表单。在那里,您可以像现在一样定义 form_validation。

我也问过类似的问题。看这个link

关于mysql - 使用 CI CRUD 将数据从 DB 传递到更新表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5997778/

相关文章:

php - MySQL-PHP在html表格中单独显示数据

php - 如何在CodeIgniter中为403禁止的错误设置自定义页面

php - CodeIgniter 3 - 在 Controller 中支持 API 和 Web 请求?

php - 处理 SQL 请求时 DIV 格式不正确

javascript - 未捕获( promise )SyntaxError : Unexpected token < in JSON at position 0

php - mysqli_stmt_execute() 期望参数 1 为 mysqli_stmt,

php - 使用 CodeIgniter(3) 删除服务器(非本地)上的文件

php - 使用 CodeIgniter、php5 和 MySQL 在数据库上进行实时搜索

php - 翻译月份名称的最佳方法

php - SQLSTATE[HY000] : General error: 1366 Incorrect integer value: