一个表单,一个按钮,一个mysql行

时间:2013-02-01 15:48:52

标签: php html mysql

这是我的表单代码:

<?php
            $b = 0;
            $stmtb = $conn->prepare('SELECT * FROM picture WHERE id = :id');
            $stmtb->bindValue(':id', $id, PDO::PARAM_STR);
            $stmtb->execute();

            while($sb = $stmtb->fetch(PDO::FETCH_ASSOC)) {
            $pic = $sb["pic"];
            $picid = $sb["picid"];
            ?>


            <img src="/pibgcarta/<?php echo $pic; ?>" height="10%" width="45%" />


            <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']."?dm=".$sch; ?>" id="picform">

            <input type="hidden" name="picid" id="picid" value="<?php echo $picid; ?>" class="input_field" role="input" aria-required="true" />

            <input type="hidden" name="pic" id="pic" value="<?php echo $pic; ?>" class="input_field" role="input" aria-required="true" />


            <input type="submit" value="Padam" class="submit_btn" name="deletepic" id="deletecarta" />


            <?php ++$b; } ?>

这是我的邮政编码:

if(isset($_POST['deletepic'])) {


    $picid = $_POST["picid"];
    $pic = $_POST["pic"];



    include "connection.php";
    $query = "DELETE FROM picture WHERE picid = :id";
            $statement = $conn -> prepare($query);
            $statement -> BindParam('id', $picid, PDO::PARAM_INT);
            $result = $statement -> execute();


    $dpic = "/pibgcarta/".$pic;

    unlink($dpic); 




}

现在我的问题是,让我们说有3张照片。我按下第二张图片的删除按钮,但删除了第三张图片。当我按第一张图片的删除按钮时,第二张图片被删除。有人可以帮我解决我的问题吗?非常感谢您的帮助。感谢

1 个答案:

答案 0 :(得分:3)

您似乎没有关闭表单。所以在html中,你将有几个带有名称pickid的隐藏输入。您的脚本中只有最后一个可供您使用。

因此,在提交按钮后,添加</form>