Ver Mensaje Individual
  #15 (permalink)  
Antiguo 05/09/2011, 11:46
skirlappa
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Problemas eliminar campos de mysql con checkbox

COPIO EL CODIGO FUNCIONANDO PARA EL QUE LE PUEDA INTERESAR:


FECHA: 05/09/2011

Estructura base de datos con algunos campos para ejecutar el código:

Código:
--
-- Base de datos: `test`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `test`
--

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `incl1` varchar(255) NOT NULL,
  `incl2` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;

--
-- Volcar la base de datos para la tabla `test`
--

INSERT INTO `test` (`id`, `incl1`, `incl2`) VALUES
(5, 'eeee', 'eeee'),
(10, 'eduardo', 'medina'),
(16, '1111111wq', 'medina');
Página ver: Muestra en pantalla todos los datos de la base de datos y podemos seleccionar los que queremos borrar:

Código PHP:
<?php

/**
 * @author Skirlappa
 * @copyright 2011
 */

$connect=mysql_connect("localhost","root","");
$selectDb=mysql_select_db("test",$connect);
$query=mysql_query("SELECT * FROM test",$connect);

//$result=mysql_fetch_array($query);
$i=0;
?><form id="form1" name="form1" method="post" action="borrar.php"><?
while ($row=mysql_fetch_array($query))
{
    
$i++;//contado para borrar
    
?> <label>
    <input type="checkbox" name="delete[]"  value="<?php echo $row['id']?>">
  </label><?
    
echo $row['id']." ".$row['incl1']." y ".$row['incl2']."<br>";
    
}
  
      
?><p>
    <label>
      <input type="submit" name="2" id="2" value="Enviar">
    </label>
  </p>
  </form><?
echo "<br><center><a href=\"../ejercicios post/borrar.php\">Borrar registros</a>";
echo 
"<br> Numero de campos totales:".$i;
?>

Página borrar
: Borra los campo seleccionados en la página anterior

Código PHP:
<?php

/**
 * @author Skirlappa
 * @copyright 2011

*/
$connect=mysql_connect("localhost","root","");
$selectDb=mysql_select_db("test",$connect);


    
$fields $_POST['delete']; 
    
$count=count($fields);
    for(
$i=0;$i<$count;$i++)
{
   
$consulta mysql_query("DELETE FROM test WHERE id = '$fields[$i]'");

   if(!
$consulta)
   {
    echo 
"<br>CAMPO NO BORRADO<BR>";
   }
   else
   {
    echo 
"CAMPO BORRADO<BR>";
   }

?>

ATENCIÓN SI NO SEÑALA NADA DARA UN MENSAJE DE ERROR VARIABLE NO ESPECIFICADA, este código es un ejercicio


Gracias a Patriarka y bUllan9ebrio por solucionar el fallo inicial.