Так в чём проблема? Если удалять по одной записи - при выводе талицы делаешь на каждой строчке ссылку, которая передаёт скрипту id этой строки (что-то проде <a href="?action=delete&id=#" title="Delete item">X</a>).
Для удаления "пачками" помещаешь выводимую таблицу в форму, в каждую строку добавляешь что-то вроде <input type="checkbox" name="sel[#i]" value="#id" />. Вот грубый набросок кода для обработки таких форм:
Код
<?php
function redirect()
{
header('Location: code.php');
?>
Redirecting...<br />
If your browser does not support redirecting, <a href="code.php">click here</a>.
<?php
}
/*----- POST'ed forms processing -----*/
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!isset($_POST['accept']))
if (!isset($_POST['sel']))
redirect();
else
{
?>
<form method="POST">
<?php
$n = 0;
foreach($_POST['sel'] as $i => $id)
{
printf('<input type="hidden" name="sel[%d]" value="%d" />', $i, $id);
$n++;
}
?>
Delete <?=$n?> selected item(s)?
<input type="submit" name="accept" value="Yes" />
<input type="submit" name="accept" value="No" />
</form>
<?php
}
else
if ($_POST['accept'] != 'Yes')
redirect();
else
{
foreach($_POST['sel'] as $id)
{
// TODO: place 'DELETE FROM...' query here
echo 'Item id = ', $id, ' deleted<br />';
}
// redirect();
}
return;
} // if ($_SERVER['REQUEST_METHOD'] == 'POST')
/*----- End of POST'ed forms processing -----*/
?>
<form method="POST">
<input type="checkbox" name="sel[0]" value="1" />Item id = 1<br />
<input type="checkbox" name="sel[1]" value="2" />Item id = 2<br />
<input type="checkbox" name="sel[2]" value="3" />Item id = 3<br />
<input type="checkbox" name="sel[3]" value="4" />Item id = 4<br />
<input type="submit" />
</form>
The idiots are winning.