php – 如何在下面的示例中删除数据库行?
发布时间:2020-12-13 22:43:48 所属栏目:PHP教程 来源:网络整理
导读:我有一个取消按钮,用户可以取消文件上传,它将显示取消消息.现在我想要发生的是,当用户点击“取消”按钮时,它将查找已在数据库中取消的文件名并删除数据库行.问题是它根本没有删除数据库行.我怎样才能实现这一点.目前我正在使用jpuery.ajax方法,您可以在下面
我有一个取消按钮,用户可以取消文件上传,它将显示取消消息.现在我想要发生的是,当用户点击“取消”按钮时,它将查找已在数据库中取消的文件名并删除数据库行.问题是它根本没有删除数据库行.我怎样才能实现这一点.目前我正在使用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按钮时,它将导航到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,style_array[i].length); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |