我从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>
其他字段相同。
在这种情况下,请尝试<input>
在您检查字段是否为空并赋值的字段上放置类似的内容。(未测试)
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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句