no digo que este mal, pero imagino lo que necesitas hacer es que, si seleccionas un producto para insertar, lo haga, y si quieres eliminarla, lo puedas hacer... si ese es el caso, creo, y puedo estar equivocado, deberias tratar los elementos de manera separada, es decir..
crear un archivo de listado.php, donde traigas todas los elementos de tu base de datos.
tener un formulario para insertar.php
y tener otro archivo eliminar.php
porque segun vi, y como dije, puedo estar equivocado, las pirmeras QUERY al mysql son identicas, como sabe el procesador cual tiene que tomar? o sea, como sabe que va a insertar, o que tiene que eliminar? creo que el checked es buena opcion, pero te daras cuenta que el checked solo indica un elemento, no lo que va a hacer, yo que tu pondria un boton ELIMINAR o algo asi, e indicar con el checked cual o cuales eliminar, que te direccione a un archivo externo tipo eliminar.php, donde recibes el ID enviado para que sepa que eliminar.. tipo
archivo eliminar.php
Código PHP:
<?php
include('../inc/conexion.php');
mysql_select_db($db_nombre_base_datos, $link);
if(isset($_POST['id']))
{
$IdProductos = stripslashes($_POST['id']); //guardo el id en una variable segura
mysql_query("delete from exterior where listid= $idProductos",$link);
header("Location: listado_productos.php");
}
?>
no se si se entiende la idea, creo que uno de los problemas es que el mecanismo no entiende porque hay 2 querys sin ninguna accion especificada..
tambien vi que hay problemas de comillas dobles y simples, pues creo que las estas tomando como lo mismo, y muchas veces los navegadores no lo interpertan asi.. es decir, en los ECHO, usas simples, y luego para escapar, de nuevo usas simples, y lo confunde al codigo.. por cuestiones de lectura puse dobles cuando se trata de los echos y simples cuando se tratan de cadenas..
espero te sirva, lo uno o lo otro
Código PHP:
<?php
mysql_query ("DELETE FROM exterior WHERE listid=\'" . $_POST['id'] . "\'", $link);
mysql_query ("INSERT INTO exterior (id) VALUES(\'" . $_POST['id'] . "\')", $link);
foreach ($_POST as $id => $value)
{
if (substr ($id, 0, 2) == 'cp')
{
mysql_query ("UPDATE exterior SET " . $id . "=\'" . $value . "\' WHERE id=\'" . $_POST['id'] . "\' LIMIT 1", $link);
continue;
}
}
$result = mysql_query ("SELECT * FROM exterior ORDER BY campos ASC", $link);
if (mysql_num_rows ($result))
{
$cnt = mysql_num_rows ($result);
$num = ceil ($cnt / 3);
echo "<table width=\'100%\' border=\'0\' cellpadding=\'0\' cellspacing=\'0\'><tr><td style=\'text-align:left;\' width=\'34%\' valign=\'top\'>";
$n = 1;
while ($row = mysql_fetch_array ($result))
{
echo "<div class=\'check\'>";
echo "<input class=\'check\' type=\'checkbox\' id=\'cp" . $row['id'] . "\' name=\'cp" . $row['id'] . "\' value=\'1\'";
if ($_POST['cp' . $row['id']])
{
echo " checked=\'checked\'";
}
echo "/>";
echo " <label for=\'cp" . $row['id'] . "\'>" . $row['campos'] . "</label>";
echo "</div>";
if ($n % $num == 0)
{
if ($n < $cnt)
{
echo "</td><td style=\'text-align:left;\' width=\'33%\' valign=\'top\'>";
}
}
++$n;
}
echo "</td></tr></table>";
} ?>