微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何在下面的示例中删除数据库行?

我有一个取消按钮,用户可以取消文件上传,它将显示取消消息.现在我想要发生的是,当用户点击“取消”按钮时,它将查找已在数据库中取消的文件名并删除数据库行.问题是它根本没有删除数据库行.我怎样才能实现这一点.目前我正在使用jpuery.ajax方法,您可以在下面的代码中看到.

下面是表单代码

var $fileImage = $("<form action='imageupload.PHP' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" + 

 "Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" + 

 "<input type='submit' name='submitimageBtn' class='sbtnimage' value='Upload' /></label>" + 

 "</p><p class='imagef1_cancel' align='center'><label>" + 

 "<input type='button' name='imageCancel' class='imageCancel' cancel_image_file_name='" + imagefilename + "' value='Cancel' /></label></form>"); 

以下是取消按钮功能

    $('.imagef1_cancel').eq(window.lastUploadImageIndex).find(".imageCancel").on("click", function(event) {

        var cancel_image_file_name = $(this).attr('cancel_image_file_name');

    jQuery.ajax("cancelimage.PHP?imagefilename=" + cancel_image_file_name)

    return stopImageUpload(2, cancel_image_file_name);

});

最后下面是jquery.ajax导航到的cancelimage.PHP脚本,据说可以删除包含文件名的数据库行:

 <?PHP

...

    //I have connected to database

    $cancel_image_file_name = $_GET["imagefilename"];

            $imagecancelsql = "DELETE FROM Image 
            WHERE ImageFile = 'ImageFiles/". MysqL_real_escape_string($cancel_image_file_name)."'";

        MysqL_query($imagecancelsql);

        MysqL_close();


    ?>

更新:

下面是我回显删除查询时当前显示内容

注意:未定义的索引:第19行/web/stud/xxx/…/cancelimage.PHP中的imagefilename
DELETE FROM Image WHERE ImageFile =’ImageFiles /’

下面是删除功能代码,当按下Delete按钮时,它将导航到deleteimage.PHP脚本并删除数据库行:

function stopImageUpload(success, imagefilename){

         $('.listimage').eq(window.lastUploadImageIndex).append('<div>' + htmlEncode(imagefilename) + '<button type="button" class="deletefileimage" image_file_name="' + imagefilename + '">Remove</button><br/><hr/></div>'); 

$('.listimage').eq(window.lastUploadImageIndex).find(".deletefileimage").on("click", function(event) {
    var image_file_name = $(this).attr('image_file_name');

    jQuery.ajax("deleteimage.PHP?imagefilename=" + image_file_name)

    $(this).parent().remove();
});

      return true;   
}

以下是deleteimage.PHP脚本:

<?PHP

//connected to DB

  $image_file_name = $_GET["imagefilename"];

        $imagedeletesql = "DELETE FROM Image 
        WHERE ImageFile = 'ImageFiles/". MysqL_real_escape_string($image_file_name)."'";

    MysqL_query($imagedeletesql);

    MysqL_close();


?>

以下是取消按钮功能现在的更新:

function startimageUpload(imageuploadform, imagefilename){
            $('.imagef1_cancel').eq(window.lastUploadImageIndex).find(".imageCancel").on("click", function(event) {

var cancel_image_file_name_ = $(this).attr('css');
var cancel_image_file_name = '';
var style_array = cancel_image_file_name_.split(" ");
for(i=0;i<style_array.length;i++){
    if(style_array[i].substr(0,2) == "__"){
     cancel_image_file_name = style_array[i].slice(2,style_array[i].length-2);
}

}

    jQuery.ajax("cancelimage.PHP?imagefilename=" + cancel_image_file_name)

    return stopImageUpload(2, cancel_image_file_name);

});       
      return true;
}

我将按钮输入标签更改为取消按钮:

<input type='button' name='imageCancel' class='imageCancel __"+ imagefilename + "' value='Cancel' />

解决方法:

尝试以下更改:

在表格上:

<input type='button' name='imageCancel' class='imageCancel __"+ imagefilename + "' value='Cancel' /></label></form>

取消按钮功能

var cancel_image_file_name_ = $(this).attr('class');
var cancel_image_file_name = '';
var style_array = cancel_image_file_name_.split(" ");
for(i=0;i<style_array.length;i++){
    if(style_array[i].substr(0,2) == "__"){
     cancel_image_file_name = style_array[i].slice(2,style_array[i].length);
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐