Ah, vale, creo que ahora te entiendo. Es fácil de hacer, pero no tiene nada que ver con arrays ni foreachs Se hace en dos pasos:
1- Cuando generas el formulario, tienes que generar un control "checkbox" por cada mensaje que estás visualizando, y además tienes que ser capaz de saber a qué mensaje se refiere cada "checkbox".
La forma más fácil de hacer ésto es darle nombres diferentes a cada checkbox, en función del mensaje al que se refiere. Por ejemplo ...
Codigo PHP:
$datos= mysql_query("SELECT id, asunto FROM mensajes");
...
while ($fila = mysql_fetch_array($datos)) {
echo '<input type="checkbox" name="chk_'.$fila['id'].'">';
echo $fila['id']
echo '<input type="text" name="asunto" value="'.$fila['asunto'].'">';
}
Si estás mostrando los mensajes con id 1, 5 y 7, este código generaría los "checkbox" chk_1, chk_5 y chk_7 (además del resto de campos de tu formulario)
2- Cuando procesas el formulario, tienes que compobar si se ha marcado el "checkbox" correspondiente al id de cada mensaje.
Hay varias formas de hacer ésto. La más sencilla (pero no la más rápida) es recuperar otra vez todos los mensajes mostrados, y ver si el "checkbox" correspondiente ha sido marcado:
Codigo PHP:
$datos= mysql_query("SELECT id, asunto FROM mensajes");
while ($fila = mysql_fetch_array($datos)) {
if ( isset ($_POST[ 'chk_'.$fila['id'] ] ))
{
// Aquí haces la operación que sea con ese mensaje. Por ejemplo
mysql_query("DELETE FROM mensajes WHERE id=".$fila['id']);
}
}
Este bucle va mirando cada uno de los mensajes que visualizaste. Cuando mira el mensaje con id 1, comprueba si se seleccionó el checkbox chk_1, y en caso afirmativo hace la operación. Cuando mira el id 5, comprueba chk_5, y así.
Saludos.
Ediciones: añadidas explicaciones.