gpt4 book ai didi

php - 如何在编辑表单上加载图像

转载 作者:行者123 更新时间:2023-11-29 12:31:56 25 4
gpt4 key购买 nike

我有一个表格可以编辑一些信息。这还包括一个图像字段。问题是我无法加载图像的链接(或图像),当我提交表单并且没有提供新图像时,旧图像从数据库中删除,这是正常的,因为我提供了空字段。问题是这种情况下该怎么办?这是我的表格

if ( !empty($_POST)) 
{
// keep track post values
$name = $_POST['name'];
$image = $_POST['image'];
$text = $_POST['text'];
$adress = $_POST['adress'];

// update data
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE rest set name = ?, image = ?, text = ?, adress = ? WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($name,$image,$text,$adress,$id));
Database::disconnect();
//header("Location: index.php");
echo "<code>Done!</code>";
}
else
{
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM rest where id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($rest_id));
$data = $q->fetch(PDO::FETCH_ASSOC);
$name = $data['name'];
$image= $data[image];
$text = $data['text'];
$adress = $data['adress'];
Database::disconnect();
}
?>
<form role="form" action="" method="post">
<!-- Form Name -->
<legend>Редакция на ресторант</legend>

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

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

</form>

正如您所看到的,当表单打开时,我检查并从数据库中获取字段数据,然后编辑我需要的内容。这样,如果我不想编辑Name,我就不会提交空字段。问题出在图像字段上。我该怎么做这个?它没有出现在该位置上的链接/名称或其他任何内容。

最佳答案

如果图像字段为空或为 null,请不要更新它,只需更改 sql,从更新中删除图像字段:

if ($image != null && $image != ''){
$sql = "UPDATE rest set name = ?, image = ?, text = ?, adress = ? WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($name,$image,$text,$adress,$id));
}
else {
$sql = "UPDATE rest set name = ?, text = ?, adress = ? WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($name,$text,$adress,$id)); //remove image from here too..
}

关于php - 如何在编辑表单上加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27363277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com