1

だから、今はphpでコーディングするのが大好きで、現在データベースに対して作業しています。

AJAX についても学ぶ必要があると思いますが、別の言語に飛び込む前に皆さんに質問します。

わかりました。現在、プロジェクトの詳細を編集するための「edit.php」ページをコーディングしています。プロジェクトには複数の画像ファイルを添付することができ、すべてリンクされて機能しています。

これらの各ファイルには削除ボタンがあり、ユーザーは既にアップロードされているファイルを削除できます (そしてデータベースからエントリを削除できます)。

今のところ、私のコードはデータベース内のコンテンツを読み取って表示するだけですが、ユーザーが削除アイコンをクリックした場合に実際に画像を削除するためのフィードバックは提供されません。

画像コードは次のとおりです。

<p>
    <a href="#" onclick="this.parentNode.parentNode.removeChild(this.parentNode)"><img src="assets/ux/delete_12px.png" width="12px" height="12px" style="margin:0px 5px -2px 0px" /></a>
    <span style="font-weight:bold">[<span style="color:#36F">Picture</span>]</span>&nbsp; 
    <span style="color:#666"><?=$rowImgFile['fileURL']?></span>
</p>

そのため、ここで削除アイコンを押すと、画像が視覚的に消えます。また、サーバー上で削除する必要があります。

私はphpとmysqliでこれを行う方法を知っていますが、関数内でそれを行うにはどうすればよいですか? これを行う最良の方法は何ですか?

別のページで、削除アイコンの onclick 機能がページの更新をトリガーし、URL に ?deletepicture="picture" を追加しているのを見ました。これが最善の方法ですか?(画像を削除するときにページを更新したくありません。phpコードとmysqliコードを実行して、それを取り除きたいだけです=)

前もって感謝します!

4

1 に答える 1

2

AJAX についても学ぶ必要があると思いますが、別の言語に飛び込む前に皆さんに質問します。

AJAX はプロトコルであり、言語ではありません (そうです)。この言語は "JavaScript" と呼ばれ、あなたはすでにそれを使用しています。それはほんの数行のコードの問題です。


(画像を削除するときにページを更新したくありません。phpコードとmysqliコードを実行して、それを取り除きたいだけです=)

ページがリロードされないようにしたい場合は、削除リクエストを新しいウィンドウで開くか (これは恐ろしいことです)、AJAX リクエストのコーディングを学ぶことができます。あなたの場合、それは似たようなものになります。

交換

onclick="this.parentNode.parentNode.removeChild(this.parentNode)"

onclick="deleteImage(this)"

この JS をページの任意の場所に配置します (jQuery が含まれていると仮定します)。

<script>
function deleteImage(domEl){
domEl.parentNode.parentNode.removeChild(domEl.parentNode);
var imageNumber = "-- retrieve here the image identifier you'll need in the PHP page";
$.post("/yourServer/deleteImage.php", imageNumber);
}
</script>

このスクリプトを使用すると、HTML ページ全体をリロードせずに PHP ファイルでアクションを呼び出すことができます。mysqli データベースからイメージを削除するには、おそらくこのイメージの一意の識別子が必要になることに注意してください。あなたは尋ねていないので、JavaScriptでそれを取得する方法をすでに知っていると思います. またはdeleteImage.phpから画像識別子を取得した後、データベースからデータを削除するためにファイルをコーディングする方法を既に知っていると仮定します。$_POST$_GET

その POST 関数で 2 つの変数を送信するにはどうすればよいですか? projectID と imageURL

$.post("url", {projectID : "123", imageURL: "234"});

これ{}は、標準の js オブジェクト リテラル表記です。したがって、この構文も有効です。

var args = {};
args.projectID = "123";
args.imageURL = "234";
$.post("url", args );
于 2013-08-22T13:34:50.303 に答える