无法控制循环

时间:2017-11-16 19:15:56

标签: php

如果按下delet,所有图像都会被删除,我不希望这样。 我只想删除一张图片。

$get_img = "SELECT * FROM img";
$run_img = mysqli_query($db,$get_img);

while ($row_img= mysqli_fetch_array($run_img)){
    if (isset($_POST['delete'])){
        $delete= "DELETE FROM img WHERE id = {$row_img['id']} ";
        $query = mysqli_query ($db , $delete);
    } 

    echo '
        <div style="width:200px; height:200px;  border: 5px solid red; margin:10px; float: right;">
            <img src="images/'.$row_pro['c_img'].'" width="200" height="200" /><br />
            <form action="get.php" method="POST">
                <input type="submit" name="delet" value="delet" />
            </form> 
        </div> 
    ';      
}

2 个答案:

答案 0 :(得分:0)

isset中抓取您的while并删除查询 这样的事情。我没有检查所有细节,但也许它有助于灵感。

$get_img = "SELECT * FROM img";
$run_img = mysqli_query($db, $get_img);

while ($row_img = mysqli_fetch_array($run_img))
{
  echo '<div>
          <img src="images/' . $row_pro['c_img'] . '" /><br />
        </div>';
}

echo '<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
        <input type="submit" name="delete" value="delete" />
      </form>'; 

if (isset($_POST['delete']))
{
  $delete= "DELETE FROM img WHERE id = :id", ['id'=>$row_pro['id']];
  $query = mysqli_query($db, $delete);
}

希望你能够理解。

答案 1 :(得分:0)

稍微解释一下,我们开始讲阿拉伯语,因为Mostafa英语不好,所以我在下面用英语和阿拉伯语写了一些小解释来帮助两种语言的用户。

while($row_img = mysqli_fetch_array($run_img)){

//explain [1]
    echo '
    <div style="width:200px; height:200px;  border: 5px solid red; margin:10px; float: right;">
        <img src="images/'.$row_img['c_img'].'" width="200" height="200" /><br />
        <form action="?" method="POST">
        <input name="id" value="'.$row_img['id'].'" hidden><!-- //explain [2] -->
        <input type="submit" name="delet" value="delet" />
        </form>
    </div>
    ';
}
if(isset($_POST['delet'])){
    $id = intval($_POST['id']);//explain [3]
    $delete= "DELETE FROM img WHERE id = '$id'";
    $query = mysqli_query($db, $delete);
    if($query){
        echo 'Deleted Successfully!';
    }
}
  

解释[1]从内部删除查询,而将其放在那里

     

解释[2]然后我做了一个名为id的隐藏输入来从中获取id

     

解释[3]将隐藏的发送id设为$ id变量并将其设置为intval以获得更高的安全性,您可以阅读它

بالعربي

  

解释[1]同时

     

解释[2]بعدينسويتزرمخفيمعكلصورةإسمهأيدييعطيناالايديبتاعها

     

解释[3]بعدينبستقبلالايديإلىبالزرالمخفيعلىمتغيرجديدوبسويلهشويةحماية。

أيخدمةثانيةهينيبستناك:)

我希望这可以帮助你:)