1

次の機能を使用してレコードを削除できますか?はいの場合、どうすればこれを行うことができますか?関数を送信ボタンに渡す必要がありますか?

function deleteImage($id = "")
        {
            if(isset($_POST['delete_image']))
            {
                $query = mysql_query("DELETE FROM store WHERE id='$id'");
            }
               return $query;

        }

htmlは次のようになります。

<?php

   $images = mysql_query("SELECT * FROM store");

   while($row = mysql_fetch_assoc($images)) {
?>
        <form action="admin.php" method="post">
            <?php 
                echo "<img src=".$row['image'].">"; 
            ?>
            <input type="submit" name="delete_image" value="DELETE IMAGE">
        </form>
<?php       
   }
?>

前もって感謝します!

4

3 に答える 3

2

あなたはこのようなことをすることができます、whileループの中にフォームに隠された入力を追加します。

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

次に、action.phpファイルで

$id = $_POST['id'];
if(isset($_POST['delete_image']))
{
    $query = mysql_query("DELETE FROM store WHERE id='$id'");
}
于 2013-02-22T11:52:57.330 に答える
1

これを試してみてください。

<?php
    if(isset($_POST['delete_image']))
    {
        $query = mysqli_query("DELETE FROM store WHERE id='".$_POST['image_id']."'")or die(mysqli_error());
    }

    $images = mysqli_query("SELECT * FROM store");

    while($row = mysqli_fetch_assoc($images)) 
    {
?>
        <form action="admin.php" method="post">
            <?php echo "<img src=".$row['image'].">"; ?>
            <input type="hidden" id="image_id_<?php echo $row['id']; ?>" value="<?php echo $row['id']; ?>" name="image_id"/>
            <input type="submit" name="delete_image" value="DELETE IMAGE">
        </form>
<?php       
    }
?>

非表示フィールドに画像IDを渡しました。

于 2013-02-22T11:49:48.550 に答える
0

これはあなたの見解です

<td>    
<?php $images = mysql_query("SELECT * FROM store"); ?>
<form action="index.php" method="post">
<?php while($row = mysql_fetch_assoc($images)): ?>
        <img src="<?php echo $row['image']; ?>">
        <input type="hidden" name="deleting[]" value="<?php echo $row['id_from_database'] ?>">
<?php endwhile; ?>
<input type="submit" name="delete_image" value="DELETE IMAGE">
</form>
</td>

これはあなたのコードです

<?php
function deleteImage()
{
    if(isset($_POST['delete_image'], $_POST['deleting']) && !empty($_POST['deleting']))
    {
        $ids = array_map('intval', $_POST['deleting']); // Type conversion to integer
        $ids = implode(', ', $ids); // Bringing to id1,id2...
        $query = mysql_query('DELETE FROM images WHERE id IN(' . $ids . ')'); // Deleting
        return (bool)$query;
    }
}
?>

次に、削除する画像のチェックボックスを設定して、送信を押す必要があります。

于 2013-02-22T12:16:26.567 に答える