我正在创建一个非常基本的管理页面来控制另一个页面上的内容。
我在管理页面上有几个字段,其中一个是文件上传字段。提交表单后,文件将上载到文件夹,文件名将放入数据库中。
问题是当有人进入管理页面更新内容并且他们没有上传文件时,文件名值会从数据库中删除。
有没有办法进行MySQL查询或忽略空值的其他东西?
$headerimage=($_FILES['headerimage']['name']);
$cktest = $_POST['editor1'];
$LikeText = $_POST['editor2'];
$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText', headerImage = '$headerimage' WHERE pageID = '$page_id'";
答案 0 :(得分:1)
你可以用这个......
例如
if($headerimage != "")
{
$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText', headerImage = '$headerimage' WHERE pageID = '$page_id'";
}else{
$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText' WHERE pageID = '$page_id'";
}
答案 1 :(得分:0)
听起来你需要为你的应用添加一些逻辑。您要求的大部分时间都可以通过在表单中添加“删除”复选框来完成,因此如果用户单击删除复选框,它将删除该行,如果不是,则会发生关于该文件的任何内容。
答案 2 :(得分:0)
您应该首先显示查询。我猜你没有正确地写你的更新查询。
$file = "";
if(isset($_FILES['file']['tmp_name']))
{
//handle images here
$file = "`file` = 'some_filename.txt', ";
}
$sql = "UPDATE `table` SET $file `field` = '".mysql_real_escape_string($some_value)."' WHERE `id` = '".mysql_real_escape_string($some_id)."'";
您基于条件将查询构建为字符串的基本思路。这总是适合我。