2017-07-29 76 views
1

我有一个while循环,它可以循环所有从数据库中退出。问题是在仪表板上它有一个接受和拒绝选项,对于拒绝,我将从0更改为1。但在while循环(当点击),它执行的所有条目,所以它改变了他们全部1,而不是仅仅提供idPHP使用while循环从数据库中删除项目

$get_iteme = $connect->query(
    "SELECT id,username,pmacc,quantity,datew 
    FROM withdraws 
    WHERE confirmed = 0 ORDER BY id 
"); 
$row_depo = $get_iteme->num_rows; 

if($row_depo) { 
    while($item_fetch = $get_iteme->fetch_array(MYSQLI_ASSOC)) { 
     $id = $item_fetch['id']; 
     echo ' 
      <div class="comment-body"> 
       <div class="user-img"> 
        <img src="modules/dashboard/plugins/images/users/pawandeep.jpg" alt="user" class="img-circle"> 
       </div> 
       <div class="mail-contnet"> 
        <h5>Test user</h5><span class="time">'.$item_fetch['datew'].'</span> 
        <br/><span class="mail-desc">PERFECT MONEY ACCOUNT : '.$item_fetch['pmacc'].'</span> 
        <form method="POST"><input type="submit" name="accept" value="Accept" class="btn btn btn-rounded btn-default btn-outline m-r-5"> 
         <input type="submit" name="decline" value="Decline" class="btn-rounded btn btn-default btn-outline"> 
        </form> 
       </div> 
      </div> 
     '; 
     if(isset($_POST['accept'])) { 
     } else if(isset($_POST['decline'])) { 
      $connect->query("UPDATE withdraws SET confirmed = 1 WHERE id = '$id' ") or die(mysqli_error($connect)); 
     } 
    } 
} 
+1

** PHP从while循环**中删除数据库项目?你的问题是什么?你的头衔是什么? –

回答

0

报价你必须有一个隐藏字段记录发送的ID <form>标签内,所以你知道哪个条目应该被接受或拒绝。因此,表单应该是这个样子:

<form method="POST"> 
    <input type="hidden" name="entryId" value="the_id_of_your_entry_here" /> 
    <input type="submit" name="accept" value="Accept" class="..."> 
    <input type="submit" name="decline" value="Decline" class="..."> 
</form> 

然后你可以检查entryId并作出相应的反应是这样的:

if (isset($_POST['entryId'], $_POST['accept'])) { 
    $stmt = $connect->prepare('UPDATE withdraws SET confirmed = 1 WHERE id = ?'); 
    $stmt->execute(new array($_POST['entryId'])); // or whatever API for prepared statements you are using... 
    $stmt->close(); 
} 

,你把这个代码块外面/ while循环之前。

+0

谢谢!这解决了我的问题,我完全忘记了我需要使用窗体中隐藏输入的while循环的外部函数 – user2090618

0

您的查询应该是这样的;

$connect->query("UPDATE withdraws SET confirmed = 1 WHERE id = $id ") or die(mysqli_error($connect)); 

删除各地ID

+0

仍然无法工作先生 – user2090618

+0

如何检查。 Hvü首先将所有变为0 –

1

的$ _ POST [“下降”]将被发送一次,当PHP代码执行的将它读成一个变量,你需要添加$ _ POST [“下降”]所选项目作为一个数组,

示例: 在形式页面支票boxs会是这样:

<form action="test.php" method="post"> 
<input type="checkbox" name="check_list[]" value="<?=$rowid?>"> 
<input type="checkbox" name="check_list[]" value="<?=$rowid?>"> 
<input type="checkbox" name="check_list[]" value="<?=$rowid?>"> 
<input type="checkbox" name="check_list[]" value="<?=$rowid?>"> 
<input type="checkbox" name="check_list[]" value="<?=$rowid?>"> 
<input type="submit" /> 

在test.php的

它会是这样:

foreach($_POST['check_list'] as $item){ // query to delete where item = $item } 
相关问题