0

アップデート:

これが私が解決策に望んでいることです。ユーザーが [キャンセル] ボタンをクリックすると、キャンセルされるファイルのファイル名を探し、そのファイル名を含むデータベース行を削除しようとします。

問題は、それが述べているようにファイル名を認識していないことです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();


?>
4

1 に答える 1

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からパラメーターとして渡す必要のあるパラメーターです。例:名前の付いた画像を削除する場合は、blackInJavascriptを渡します。

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

後でphpファイルで、次を使用してidの値を取得します。

$image = $_GET['id'];

次に、クエリを実行します。

$imagecancelsql = "DELETE FROM IMAGE WHERE IMAGEFILE = $image";
于 2012-05-16T10:34:56.127 に答える