【问题标题】:Load data in form and update row in database在表单中加载数据并更新数据库中的行
【发布时间】:2014-12-06 12:59:29
【问题描述】:

我从 mysql 加载表格形式的数据。到现在为止还挺好。现在我制作了名为Update 的按钮,它打开了新页面,我可以在其中更新数据库中的单行。问题是,当我打开更新表单时,所有字段都是空的,如果我只想更新某些行并将其他字段留空,它们在数据库中也会更新为空白,这也是正常的。如何将信息填充到更新表单中? 这是我目前用来更新数据库中的一些记录的。

文件edit.php

error_reporting(E_ALL); 
ini_set('display_errors', 1);
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $id = null;
        if ( !empty($_GET['id'])) 
        {
            $id = $_REQUEST['id'];
        }
        if ( null==$id ) 
        {
           echo "null==$id";
        }
        // keep track post values
            $name = $_POST['name'];
            $image = $_POST['image'];
            $image_big = $_POST['image_big'];
            $description = $_POST['description'];

                   // update data
           $pdo = Database::connect();
           $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
           $sql = "UPDATE food set name = ?, image = ?, image_big = ?, description = ? WHERE id = ?";
                    $q = $pdo->prepare($sql);
                    $q->execute(array($name, $image, $image_big, $description, $id));
                    Database::disconnect();
                    echo "<code>Updated!</code>";

          // html form

如果我将例如 name 留空,并在我点击数据库中的 Update 按钮时将一些新数据放在所有其他字段中,name 将是空白的。

更新了html 表单的一部分

<!-- Text input-->
        <div class="form-group">
          <label for="meal_name">Име</label>
            <input id="name" name="name" placeholder="Name" class="form-control" type="text">
        </div>

其他字段相同..

【问题讨论】:

  • 您能出示您的html 表格吗?
  • 如何调用更新页面,请提供相应的代码。
  • 是同一个文件action="" method="post"

标签: php mysql


【解决方案1】:

在这种情况下,请尝试在&lt;input&gt; 字段上输入类似的内容,在该字段中检查字段是否为空并指定。(未测试)

value="<?php echo !empty($name)?$name:'';?>"

所以你的表单域会变成这样

<!-- Text input-->
    <div class="form-group">
      <label for="name">Name</label>
        <input value="<?php echo !empty($name)?$name:'';?>" id="name" name="name" placeholder="Name" class="form-control" type="text">
    </div>

【讨论】:

  • 感谢您的回答。我会对此进行测试,并让您知道它是否有效。
  • 因此,当我加载页面时,所有数据都以除图像之外的形式填充。为什么他们没有加载?
  • 我会接受你的回答,因为它正在工作。对于图像,我会想出来的。
猜你喜欢
  • 2021-09-16
  • 2020-02-22
  • 1970-01-01
  • 2017-04-01
  • 2020-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多