Ваша идея состоит из двух вещей;таблица и php-файл, который обрабатывает ввод из таблицы.
File: table.php
<form method="post" action="process.php">
<table>
<thead>
<tr>
<th>Title</th>
<th>Activate</th>
<th>Delete</th>
</tr>
</thead>
<?php foreach( $records as $record ): ?>
<tr>
<td><?php echo $record['title']; ?></td>
<td><input type="checkbox" name="activate_ids[]" value="<?php echo $record['id']; ?>" /></td>
<td><input type="checkbox" name="delete_ids[]" value="<?php echo $record['id']; ?>" /></td>
</tr>
<?php endforeach; ?>
</table>
</form>
File: process.php
<?php
//Gather the $_POST
$activate_ids = $_POST['activate_ids'];
$delete_ids = $_POST['delete_ids'];
//Let's make sure we only get ints
for($i = 0; $i < count($activate_ids); $i++)$activate_ids[$i] = intval($activated_ids[$i]);
for($i = 0; $i < count($delete_ids); $i++)$delete_ids[$i] = intval($delete_ids[$i]);
//Get the ids
$activate_ids_string = implode(',', $activate_ids);
$delete_ids_string = implode(',', $delete_ids);
//Make sure we don't have '' as a parameter for SQL
if( $activate_ids_string == '' ) $activate_ids_string = 0
if( $delete_ids_string == '' ) $delete_ids_string = 0;
//UPDATE the table
$sql_activate = 'UPDATE Records SET active=1 WHERE id IN (' . $activate_ids_string . ')';
$sql_delete = 'DELETE FROM Records WHERE id IN (' . $delete_ids_string . ')';
//Execute the queries and get the # of affected rows
$aff_rows_activate = mysql_num_rows(mysql_query($sql_activate));
$aff_rows_delete = mysql_num_rows(mysql_query($sql_delete));
//Last but not least, output how it went for both queries
if( $aff_rows_activate === 1 ) echo 'Activated one record.';
else echo 'Activated ' , $aff_rows_activate, ' records.';
if( $aff_rows_delete === 1 ) echo 'Deleted one record.';
else echo 'Deleted ' , $aff_rows_activate, ' records.';
?>
У меня не былошанс опробовать приведенный выше код, так что в нем все еще может быть несколько синтаксических ошибок - однако вы должны иметь представление о том, что вам нужно сделать, чтобы достичь желаемых результатов.