Dúvida recorrente no fórum.

Funcionamento parecido com os webmails.

Você possui uma lista de registros. Em cada um desses registros, há um checkbox.

Deseja-se, selecionar vários checkboxs, e então com um só botão, proceder com a exclusão de todos os itens selecionados.

<?php
  if( $_SERVER['REQUEST_METHOD']=='POST' ){
    $arr = filter( $_POST['excluir'] );

    $sql = 'DELETE FROM registro WHERE id IN('.implode( ',', $arr ).')';
    echo $sql;
  }
  function filter( $dados ){
    $arr = Array();
    foreach( $dados AS $dado ) $arr[] = (int)$dado;
    return $arr;
  }
?>


<form action="" method="post">
  <table>
    <tr>
      <td><input type="checkbox" name="excluir[]" value="13" /></td>
      <td>Registro 13</td>
    </tr>
    <tr>
      <td><input type="checkbox" name="excluir[]" value="9" /></td>
      <td>Registro 9</td>
    </tr>
    <tr>
      <td><input type="checkbox" name="excluir[]" value="26" /></td>
      <td>Registro 26</td>
    </tr>
    <tr>
      <td><input type="checkbox" name="excluir[]" value="14" /></td>
      <td>Registro 14</td>
    </tr>
  </table>
  <input type="submit" name="submit" value="Excluir Selecionados" />
</form>

Bom, é isso. Simples, prático e direto.

@2011-04-18 Adicionei a função filter(), para fazer o casting de tipo, antes de mandar para a string SQL. Dessa forma evitamos o injection mencionado pelos nossos colegas nos comentários deste post.