如何使用codeigniter编辑表单条目中的数据库数据

时间:2016-06-03 14:09:28

标签: php codeigniter-3

我做了一个表格来获取用户购买数据的表格我使用了Codeigniter的表格验证,当数据跟随规则数据库接受数据并显示给用户时,在显示结果页面我按了一个按钮返回到第一页改变数据。

但我希望第一页显示来自数据库的数据而不是空文本输入。

表单验证:(仅用于名字)

<?php if($errors= validation_errors()):?>
                <div class="alert alert-danger">
                    <?php echo $errors; ?>
                </div>
            <?php endif;?>

        <form action="<?php echo base_url();?>my_site/check_data_entry"  method="post" >

        <div>
                <label>first name</label>
                <input type="text" name="txt_fname"  value="<?php echo set_value('txt_fname'); ?>" required>
                <?php echo form_error('txt_fname');?>
            </div>

我做了check_data_entry来检查数据验证,接受数据后用户可以看到结果页面我希望用户能够在第一页上从数据库编辑数据,我将用户重定向到第一页但我不知道如何显示在名字文本输入中的数据,set_value似乎应该有第二个数据,但是这次从数据库中又如何?我不知道,我从数据库发送一个数组到这个页面。

请告诉我解决方案。 谢谢

1 个答案:

答案 0 :(得分:0)

当您说编辑数据库时,您是指在数据库中编辑已存在的行还是添加新行?我之所以要问的原因是因为您的表单上只有一个字段,因此您无法真正使用该数据来编辑当前行,但您可以添加新行。以下两行代码可能会让您走上正轨:

$FirstName = $this->input->post('txt_fname');

INSERT INTO table_name ($FirstName) values (first_name_column_in_database);

如果您有任何跟进问题,请随时提出。

编辑:

根据您的评论,您希望编辑数据库中的行,并且您还有其他字段。我会在这里补充其他领域,因为你没有给他们:

$FirstName   = $this->input->post('txt_fname');
$PhoneNumber = $this->input->post('txt_phone');
$Email       = $this->input->post('txt_email');

UPDATE
  table_name
SET
  phone_column_in_database = $PhoneNumber,
  email_column_in_database = $Email
WHERE
  first_name_column_in_database = $FirstName;