我从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>
其他字段相同..
答案 0 :(得分:0)
在这种情况下,请尝试在<input>
字段中输入类似的内容,以检查字段是否为空并且是否为asign。(未经过测试)
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>