2016-04-05 9 views
0
$result = mysqli_query($conn,"select * from `favourites` WHERE user_id = '$session'"); 
    while($row = mysqli_fetch_assoc($result)) { ?> 

     <input type="hidden" value="<?php echo $row['id']; ?>" name="name"/> 

     <? $pid=$row['id']; 

    } 

    if(isset($_POST['delete'])) { 
    $delete="DELETE FROM `favourites` WHERE id = '$pid' AND user_id = '$session'"; 
     if (mysqli_query($conn, $delete)) { 
      echo "Record deleted successfully " . $id; 
     } else { 
      echo "Error deleting record: " . mysqli_error($conn); 
     } 
} 

このページの記事は、ユーザーが愛用しているすべての画像(魔法の作品)を表示することです。ユーザーが削除したい場合は、「削除」ボタンを追加しますしかし問題は、写真のいずれかでボタンを押すと最後の画像しか削除されないということです。たとえば、ID付きの写真があります:10,11,12,13 ...そしてその順番でも表示されます。私がdeleteをexmpの画像11のために押すと、画像が削除されます。基本的に、どの画像をテーブルから削除しても、最後の画像は削除されます。 IvはピクチャIDを取得するためにwhileループ内に隠れたボタンを置き、if idがテーブルのidと等しい場合にif statmentを削除条件に設定します。テーブルから特定の値を削除する

何か問題がありますか?

編集-削除形式:whileループが終了します後

<form method="post"> 
<input type="hidden" value="<?php echo $row['name']; ?>" name="name"/> 
<input type="hidden" value="<?php echo $row['id']; ?>" name="nameid"/> 
<button type="submit" class="btn btn-danger btn-circle" name="delete"><i class="glyphicon glyphicon-remove"></i></button> 

             </form> 
+0

htmlを生成するコードはどこですか? 「削除」がどのように埋められているかを確認するには... – Random

+0

htmlの削除ボタンコードを表示してください。 – RJParikh

+0

削除フォームを追加/編集しました – virtuon92

答えて

1

フォームにIDを掲示され、削除、最後のIDを持っています名前 "nameid"を持つ削除される写真の名前。そのため、削除クエリではIDが転記されます。

if(isset($_POST['delete'])) { 
$delete="DELETE FROM `favourites` WHERE id = '".$_POST['nameid']."' AND user_id = '$session'"; 
    if (mysqli_query($conn, $delete)) { 
     echo "Record deleted successfully " . $_POST['nameid']; 
    } else { 
     echo "Error deleting record: " . mysqli_error($conn); 
    } 
} 
+0

なぜOPは "これを試してください"? ***良い答え***は、何が行われたのか、それがなぜOPのためだけでなく、将来の訪問者のためにそうした方法で行われたのかについての説明を常に持っています。 –

+0

これで解決しました。 – virtuon92

1
DELETE FROM `favourites` WHERE id = '$pid' 

この$pidは、それによってのみ、最後の1つの

+0

実際、DELETEはループの外側です! – Random

+0

ええ、フォームの画像IDを使用する代わりに、問題を解決しました。あなたの時間相手のために – virtuon92

+0

いいえ問題のメイト – WebInsight

関連する問題