2012-05-16 50 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

相關問題