2012-05-16 49 views
0

更新:如果显示success = 2消息,如何删除数据库行?

正确的这是我想要的解决方案。当用户点击“取消”按钮时,它会尝试查找将要取消的文件的文件名,然后删除包含该文件名的数据库行。

问题是它不识别文件名,因为它指出imagecancelname=undefined。由于这是未定义的,它不能删除包含文件名的数据库行,因为它不能识别文件的名称。

所以问题是我怎么能得到imagecancelname识别将被取消的文件的名称,然后它可以用来删除包含文件名的数据库行?

下面是电流形式的代码:

var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return startImageUpload(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'></p>" + 
    "<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>"); 

下面是startImageUpload函数,其中它,当文件被上载,并且其中包含的取消按钮功能,如果用户点击了取消按钮显示取消键:

function startImageUpload(imagecancelname){ 

     $('.imagef1_cancel').eq(window.lastUploadImageIndex).html('<div><button type="button" class="imageCancel" image_cancel="' + imagecancelname + '">Cancel</button></div>'); 

      $('.imagef1_cancel').eq(window.lastUploadImageIndex).find(".imageCancel").on("click", function(event) { 
       var image_cancel = $(this).attr('image_cancel'); 

       var url = 'cancelimage.php'; 
window.location=url+"?imagecancelname=" + image_cancel; 

});  
     return true; 
} 

最后下面是cancelimage.php脚本,当用户点击取消按钮在哪里,它就会定位到这个脚本,这是通过查找该文件名,其中脚本用于删除数据库行$ GET方法。

<?php 

    ... connected to DB 

    $image_cancel = $_GET["imagecancelname"]; 

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

     mysql_query($imagecancelsql); 

     mysql_close(); 


?> 

回答

0

在javascript中,您可以添加一个额外的php文件从数据库中删除一行。

在你的js加入这个(当你删除):

window.location=url+"?"+id; 

url =路径在PHP文件位于

id =行ID,你想删除

然后添加一个php文件来做数据库操作

<?php 
    $imagecancelsql = "DELETE FROM Image 
       WHERE ImageFile = 'ImageFiles/". 
       mysql_real_escape_string($_FILES['fileImage']['name'])."'"; 
    mysql_query($imagecancelsql); 

Id是您需要从javascript传递参数。 例如: 如果您想删除已得到了一个名字black的图像,然后通过 在Javascript中:

var image = 'black'; 
window.location=url+"?id="+image; 

在PHP文件后来用得id的值:

$image = $_GET['id']; 

然后执行查询:

$imagecancelsql = "DELETE FROM IMAGE WHERE IMAGEFILE = $image"; 
+0

嗨,只是一个问题,如果PHP文件(cancelimage.php)是在同一个目录中应用程序,然后这是正确的代码:'var url =“<?php echo \ cancelimage.php;?>?action = phpFunction&vars =”+ var;' – user1394925

+0

是的,您可以通过 'alert(window。位置);' 另外,检查你的'cancelimage。php'被称为放置一些打印语句在你的'cancelimage.php' – Vimalnath

+0

让我知道这是否工作! – Vimalnath

相关问题