PHP:根据复选框更改每个项目的状态?

时间:2016-05-11 01:54:06

标签: php mysql

我有一个使用PHP从mySQL数据库中提取的项目列表。 每个项目都打印到一个列表中。每个项目都有“待定”或“已完成”状态。状态以字符串形式保存到数据库中。

默认情况下,所有项目都处于“待处理”状态,我想选择某些项目并将其状态从该表格更改为“已完成”。所以我将结果表(使用while循环创建)插入到表单中,并在每个项目之外添加了一个复选框。

我想做的事情是:“当您提交此表单时,对于已选中此复选框的每个项目,请将其状态更改为已完成”。

这就是我所做的:

echo '<form action="" method="POST">';
while($x=mysqli_fetch_array($consulta)){
      echo '<tr><td>'.$x['id'].'</td> <td>'.$x['email'].'</td> <td>'.$x['fecha'].'</td> <td>'.$x['monto'].'</td> <td>'.$x['sucursal'].'</td> <td>'.$x['ticket'].'</td> <td>'.$x['cuentaOrigen'].'</td> <td>'.$x['estado'].'&nbsp;&nbsp;<input name="cambiar[]" type="checkbox" value="'.$x['id'].'"></td>
          </tr>';
};

echo '
    </tbody>  
</table>
<p class="text-right"><input type="submit"  class="btn btn-danger" value="Finiquitar los tildados"></input></p>
';

现在,这是应该抓住每个复选框并更改其状态的部分。我已尝试调整this example,但无法使其正常工作。

if(isset($_POST['submit'])) { 
    $total=array();
    $total=count($_POST['cambiar']);
    for($i=0;$i<$total;$i++){
            $id=$_POST['cambiar'];
            $cambiar = "UPDATE datos 
                  SET estado = 'pasado'
                  WHERE id='$id'";
      $resultado = mysqli_query($conexion, $cambiar);

    }
}

顺便说一句,首先显示列表的选择查询是:

$query="SELECT  id,
                email,
                fecha,
                monto,
                cuentaOrigen,
                sucursal,
                ticket,
                estado
FROM    datos
WHERE estado = 'pendiente'
ORDER BY id DESC
      ";

0 个答案:

没有答案