私はMySQL DBとフォルダから削除できるファイルアップロードシステムを持っています。 唯一の問題は、フォルダ内のすべてのファイルが1つではなく削除されることです。各フォルダは、人の名前を持つカスタムフォルダです。フォルダからのファイルの削除とmysqlの結合テーブル
2つのテーブルのIDが等しいジョイントテーブルがあります。私はファイルの場所を知るために人の名前を受け取るために参加したテーブルを必要とします。例えば
$analyse = mysqli_query($conn, "SELECT *
FROM analyse
INNER JOIN persons ON
analyse.id_person = persons.id");
while ($row = mysqli_fetch_array($analyse)) {
$img = $row['img_name'];
$name= $row['name'];
$frontname= $row['frontname'];
$image_url = "../persons/{$name} {$frontname}/analyse/{$img}";
$result = mysqli_query($conn, "DELETE FROM analyse WHERE id=$id");
unlink($image_url);
if($result){
header('Location: ' . $_SERVER['HTTP_REFERER']);
} else {
echo "Failed to delete";
}
}
:
は、これは、これまで複数のファイルではなく、私が選択されたいずれか一つで削除されている場合、私の作業コードである人X ID 15とIDを持つ三つの異なるIDを持つ画像が、それぞれの時間を持っています(15)である。私は、ID 15
UPDATE 私は解決策、いつも私のDBの行の最初だった削除する経由して来たIDを見つけて、すべてのファイルの代わりに、単一の選択したファイルを削除できるようにしたいです。私の配列の取り出しは間違っていて、私のIDも結果的にでした。 答えをありがとう。
選択した画像のIDをどのように渡しますか? –
私はURLからIDを取得します: $ id = $ _GET ['id']; – JDB
そして、私は自分のフォームの中にそれを渡すどのようにこの:
– JDB