Foros del Web » Programando para Internet » PHP »

Eliminar datos con checkbox en mysql con php

Estas en el tema de Eliminar datos con checkbox en mysql con php en el foro de PHP en Foros del Web. Hola a todos!! Sera que me pueden ayudar o recomendar algo para lo siguiente?: Tengo que hacer una consulta a mi bd em mysql para ...
  #1 (permalink)  
Antiguo 21/11/2011, 18:01
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Eliminar datos con checkbox en mysql con php

Hola a todos!!

Sera que me pueden ayudar o recomendar algo para lo siguiente?:

Tengo que hacer una consulta a mi bd em mysql para eliminar libros de una tabla, deseo mostrar todos los datos de la tabla en una lista y colocar a cada uno un checkbox para que el usuario pueda seleccionar los libros que desea eliminar y un boton eliminar. Es algo como el hotmail: lista de todos los mensajes, cada uno con un checkbox, y se marcan los que se quieren eliminar.

Espero haberme explicado!

Alguna idea o sugerencia???

Gracias!
  #2 (permalink)  
Antiguo 21/11/2011, 20:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Eliminar datos con checkbox en mysql con php

No se que estas utilizando, si estas programando en objetos o no, si utilizas PDO o mysqli o otra te dejo una idea muy básica de como seria.

En la tabla (HTML) que muestras los libros tendrías que tener una columna que sea como la primera que te muestro en el código siguiente

Código:
<?php
while($row=mysql_fetch_array($result)){
?>
<tr>
  <td>
    <input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>">
  </td>
  <td>
    <? echo $row['Titulo']; ?>
  </td>
  <td>
     <? echo $row['Autor']; ?>
  </td>
  <td>
      <? echo $row['OtroCampo']; ?>
  </td>
</tr>
<?php } ?>
Lo importante de el codigo que te muestro es lo siguiente checkbox[] que es un array de checkbox que gracias a eso luego puedes realizar tu consulta para eliminar si en el valor pones el Id del libro.

Despues podrias hacer algo asi:

Código PHP:
if(isset($_POST["checkbox"])) {
    
$delete $_POST["checkbox"];
    
$cantidad count($delete)
    for (
$i="0"$i<$cantidad$i++) { 
         
$del_id $delete[$i];
         
$sql "DELETE FROM $tbl_name WHERE id='$del_id'";
         
$result mysql_query($sql);
    }
    
// mensaje que se han eliminar $cantidad de libros.
}else{
     
// mensaje de que no hay registro a eliminar

Espero que te puedas guiar con estos dos fragmentos de codigo lo importante es
la linea de abajo ya que luego el array checkbox va a contener los id donde el usuario chequeo, luego es solo recorrerlo y realizar la consulta.
Código:
<input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>">
Espero que sirva, saludos.

Nico.
  #3 (permalink)  
Antiguo 21/11/2011, 23:48
 
Fecha de Ingreso: noviembre-2011
Ubicación: Morelia, Mich, México
Mensajes: 95
Antigüedad: 12 años, 5 meses
Puntos: 18
Respuesta: Eliminar datos con checkbox en mysql con php

Otra forma de hacerlo (con el mismo ejemplo de html que puso nicostone):

Código PHP:
Ver original
  1. $deleteId = implode(",", $_POST['checkbox']);
  2.     $sql = "DELETE FROM NOMBRE_DE_TU_TABLA WHERE id IN ($deleteId)";
  3.     mysql_query($sql);

saludos
__________________
Que de Cosas - Tienda En linea México

La Batalla Por tu cuerpo - Dietas|Rutinas|Entrenamientos|Salud
  #4 (permalink)  
Antiguo 22/11/2011, 09:38
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Muuchas gracias por sus prontas respuestas. Voy a probar sus sugerencias y les aviso!! No estoy usando objetos, estoy usando php con MySql

Espero me funcionen sus sugerencias. Gracias
  #5 (permalink)  
Antiguo 27/11/2011, 06:20
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Hola.! Aqui mi codigo con sus sugerencias, pero no me muestra los datos de la BD, cuando cargo la pagina solo muestra un checkbox y nada mas, sin nombres ni nada, no se cual sera el error. Ayuda por favor!!

<?
//*****************Comienza la eliminacion de libros...*****************

//Conecto con la BD..
require("conexion.php");

if(isset($_POST["checkbox"])) {
$delete = $_POST["checkbox"];
$cantidad = count($delete);

for ($i="0"; $i<$cantidad; $i++) {
$del_id = $delete[$i];
$sql = "DELETE FROM libros WHERE ='$del_id'";
$result = mysql_query($sql);
echo "<script> alert ('Libros eliminados exitosamente')</script>";
}
else{
echo "<script> alert ('No se seleccionaron libros para eliminar')</script>";
}

?>

<HTML>
<HEAD>
<title>Eliminar Libro</title>
<link href="estilos.css" rel="stylesheet" type="text/css" media="screen"/>
</HEAD>


<BODY id="cuerpo" >

<div id="general">

<!-- ********************* SUPERIOR **********************-->

<div id="superior">

<div id="superior1">
<?php
require("menusuperior.php");
?>
</div>
</div>
<!-- *********************CUERPO CENTRAL *************************-->
<div id="centralcompleto">

<!-- ******************COMIENZA FORMULARIO****************-->
<BR>
<h3 class="title2" align="center">Seleccione los libros que desea eliminar:</h3><BR>
<FORM name="form5" action="eliminarlibro.php" method="POST">


<div id="tablaregistro">
<table width="300" border="0" cellspacing="20">

<?
//Conecto con la BD..
require("conexion.php");

// Selecciono todos los libros..
$elim= "SELECT * FROM libros";
$result=mysql_query($elim);

//Arreglo que recoge todos los libros que existen el la base de datos...
while($row=mysql_fetch_array($result)){
?>
<tr>
<td>
<input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $row['titulo']; ?>">
</td>
</tr>
<? } ?>

</table>
</div> <!--Fin del div de la tabla de registro-->
<BR>
<BR>
<div id="botones">
<table>
<tr>
<td><input type="submit" value="Eliminar" name="eliminar"></td>
<td><input type="reset" name="borrar" value="Borrar"></td>
<BR>
</tr>
</table>
</div> <!--fin div botones-->
</FORM>
</div> <!--fin div cuerpocentral-->

<!--***************** INFERIOR ******************-->

<div id="inferior">
<h5 align="center">Todos los derechos reservados</h5>
</div> <!--fin div inferior-->

</div> <!-- fin de la div general-->
</BODY>
</HTML>
  #6 (permalink)  
Antiguo 29/11/2011, 09:53
 
Fecha de Ingreso: octubre-2011
Ubicación: Hermosillo
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Hola que tal orw28, estaba leyendo tu codigo y no se si tenga algo que ver esto pero mas o menos como en la linea 13 tienes la siguiente sentencia:

$sql = "DELETE FROM libros WHERE ='$del_id'";

Esta dentro de un for, ahi tienes un error en esa sentencia, no se si te solucione el problema que tengas, pero por ejemplo en esa sentencia no estas borrando nada porque no le estas indicanto que ID va a borrar deberia de decir WHERE campo = 'valor', osea quedaria:

$sql = "DELETE FROM libros WHERE campoID = " . $del_id;

Saludos!
  #7 (permalink)  
Antiguo 29/11/2011, 10:16
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Oh si!! Sergio_Reynaga Gracias por esa observacion, habia olvidado ese "pequeño" detalle jeje, pero mas que todo el error, es que en la parte del form no me muestra nada, no me muestra todos los libros que tengo en la base de datos =/ solo muestra un checkbox en la pagina y nada mas =( si podrias ayudarme con eso??? (Lo que pasa es que estoy primero viendo que me muestre los libros para luego verificar bien el codigo de eliminacion, pero obviamente necesito que se muestren los datos primero en la pagina, pero hasta ahora nada)

Gracias por tu observacion!
  #8 (permalink)  
Antiguo 29/11/2011, 10:21
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Es decir hay un error en la parte del form que yo no logro ver!!
  #9 (permalink)  
Antiguo 29/11/2011, 12:39
 
Fecha de Ingreso: octubre-2011
Ubicación: Hermosillo
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Si se estara haciendo la conexion correctamente???

porque por lo que veo todo esta bien escrito, lo que puedes hacer es antes de imprimir un checkbox prueba imprimento el valor en un td normal, para ver si se esta trayendo los datos ese query, osea pon esto:

<td><?php echo $row['titulo']; ?></td>

Haber que pasa!
  #10 (permalink)  
Antiguo 02/12/2011, 07:08
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Hola!
La conexion esta bien, ya que en la opcion de registrar lo hace correctamente! Ya probe lo que me dijiste y si imprime con el td normal, o sea que si extrae bien los datos...

Pero me imprime esto en la parte de arriba de la pagina (donde siempre salen los errores):

alert ('Libros eliminados exitosamente')"; } else{ echo ""; } } ?>


y luego de eso, mas abajo, me muestra la pagina con el checkbox solito,, sigo sin entemder cual es el error! o los errores.

sera que puedo subir una imagen para mostrar lo que pasa?

Gracias por sus respuestas!
  #11 (permalink)  
Antiguo 05/12/2011, 17:27
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Ayuda!! =(
  #12 (permalink)  
Antiguo 05/12/2011, 23:24
Avatar de mko
mko
 
Fecha de Ingreso: agosto-2010
Ubicación: la vida es un riesgo
Mensajes: 101
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Eliminar datos con checkbox en mysql con php

orw28
PRUEBA ASI Y MODIFICALO EN TEORIA DEBE FUNCIONAR PRUEBALO LO HICE A LA CARRERITA

Código PHP:

//aqui tu conexion
       
$result2 mysql_query("SELECT * FROM libros"$con);
       if (
$row mysql_fetch_array($result2))
            { 
            

        
            
            
            echo
"<form action='eliminarlibro.php.php' method='post'>";
            echo 
"<table  align='center'>";
            echo
"<tr>
            <td>nombre del libro</td>
            <td>seleccione</td>                  
            </tr>"

             
            do { 
             echo 
"<tr><td>".$row["nombre"]."</td>
                       <td><input name='checkbox[]' type='checkbox' id='checkbox[]' value='"
.$row["titulo"]."'></td>";
             echo 
"</tr>" ;
             
           }
           echo
"<tr><td colspan='2'><input type='submit' value='Eliminar' name='eliminar'><input type='reset' name='borrar' value='Borrar'></td></tr>
           <table>"
;
            while (
$row mysql_fetch_array($result2)); 

 
       } else { 
       echo 
"<div  class='noresultado'>****no existen libros****</div>"
       } 
__________________
cuando no esperas nada y obtienes todo eso es destino
  #13 (permalink)  
Antiguo 07/12/2011, 10:15
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Gracias! pero ya lo probe y loq eu hace es imrpimir en la pagina todos los comandos, es decir, lo que veo en pantalla es esto:

mi form:

<!-- ******************COMIENZA FORMULARIO**************-->
<BR>
<h3 class="title2" align="center">Seleccione los libros que desea eliminar:</h3><BR>
<FORM name="form5" action="eliminarlibro.php" method="POST">


<div id="tablaregistro">
<table width="300" border="0" cellspacing="20">

<?
//Conecto con la BD..
require("conexion.php");

// Selecciono todos los libros..
$elim= "SELECT *FROM libros";
$result=mysql_query($elim);

//Arreglo que recoge todos los libros que existen el la base de datos...
if ($row = mysql_fetch_array($result)) {
echo "<table align='center'>";
echo"<tr>
<td>nombre del libro</td>
<td>seleccione</td>
</tr>";

do {
echo "<tr><td>".$row['titulo']."</td><td><input name='checkbox[]' type='checkbox' id='checkbox[]' value='".$row['titulo']."'></td>";
echo "</tr>" ;
}

echo"<tr><td colspan='2'><input type='submit' value='Eliminar' name='eliminar'><input type='reset' name='borrar' value='Borrar'></td></tr>
<table>";
while ($row = mysql_fetch_array($result));
}
else {
echo "<div class='noresultado'>****no existen libros****</div>";
}
?>
</table>
</div> <!--Fin del div de la tabla de registro-->
<BR>
<BR>
</FORM>


LO QUE ME IMPRIME EN PANTALLA ES ESTO:

"; echo""; do { echo ""; echo "" ; } echo"
nombre del libro seleccione
".$row['titulo']."
"; while ($row = mysql_fetch_array($result)); } else { echo "
****no existen libros****
"; } ?>


..................No se que tiene este codigo =s OTRA IDEA?? GRACIAS!
  #14 (permalink)  
Antiguo 07/12/2011, 12:08
 
Fecha de Ingreso: febrero-2009
Mensajes: 61
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Eliminar datos con checkbox en mysql con php

hola, estaba checando tu script y tienes algunos errores de sintaxis:

1.- comienzas codigo php asi <? y no debe de ser lo ideal es <?php
2.- estas utilizando javascript y lo tienes asi <script> y no debe ser, lo ideal es <script lenguaje="
Javascript">codigo</script>

por eso te imprimi la parte alert ('Libros eliminados exitosamente')"; } else{ echo ""; } } ?>

checa bien tu codigo.

saludos.
  #15 (permalink)  
Antiguo 07/12/2011, 23:54
Avatar de mko
mko
 
Fecha de Ingreso: agosto-2010
Ubicación: la vida es un riesgo
Mensajes: 101
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Eliminar datos con checkbox en mysql con php

orw28
aqui te dejo un video con el codigo anterior
--la consulta con chekbox con el valor de la id del registro---
para que veas como esta
ami si me funciona probado con appserver
bueno chekalo aver si te sirve
el boton de eliminar no esta programado
http://www.youtube.com/watch?v=ilz-U..._order&list=UL
__________________
cuando no esperas nada y obtienes todo eso es destino
  #16 (permalink)  
Antiguo 10/12/2011, 08:34
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Gracias por sus respuestas! Ya probare con sus consejos a ver que tal me va! y les escribo =)
  #17 (permalink)  
Antiguo 13/12/2011, 10:08
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Hola.!
Ya puedo mostrar la lista de mis libros cada uno con su checkbox. Pero ahora no los quiere eliminar de la BD. Aqui mi codigo:

<?
//****************Comienza la eliminacion de libros...*******************

//Conecto con la BD..
require("conexion.php");

if (isset($_POST['Eliminar'])){
$borrar = $_POST['libro'];

for ($i=0; $i<$borrar; $i++) {
$sql = "DELETE FROM libros WHERE titulo=".$borrar[$i];
$result = mysql_query($sql);
$contador++;
echo "<script language='JavaScript'> alert ('Libro registrado exitosamente')</script>";
}
else{
echo "<script language='JavaScript'> alert ('No selecciono')</script>";
}
}

?>

<HTML>
<HEAD>
<title>Eliminar Libro</title>
<link href="estilos.css" rel="stylesheet" type="text/css" media="screen"/>
</HEAD>


<BODY id="cuerpo" >

<div id="general">

<!-- ******************* SUPERIOR *******************-->

<div id="superior">

<div id="superior1">
<?php
require("menusuperior.php");
?>
</div>

<div id="superior2">

</div>

<div id="superior3">

</div>
</div>

<!-- ***************CUERPO CENTRAL ********************-->
<div id="centralcompleto">

<!-- **********COMIENZA FORMULARIO*************-->
<BR>
<h3 class="title2" align="center">Seleccione los libros que desea eliminar:</h3><BR>
<FORM name="form5" action="eliminarlibro.php" method="POST">


<div id="tablaregistro">
<table width="300" border="0" cellspacing="20">

<?php
//Conecto con la BD..
require("conexion.php");

// Selecciono todos los libros..
$elim= "SELECT *FROM libros";
$result=mysql_query($elim);

//Arreglo que recoge todos los libros que existen en la base de datos...
if($row=mysql_fetch_array($result)){
do {
echo"<tr>";
echo"<td><input name='libro[]' id='libro[]' type='checkbox' value='".$row["titulo"]."'></td><td>".$row["titulo"]."</td>";
echo"</tr>";
}
while ($row=mysql_fetch_array($result));

echo "<tr><td colspan='3'> <input name='eliminar' type='submit' value='Eliminar' /> <input name='resetear' type='reset' value='Borrar' /> </td></tr>";
}
else{
echo"<tr><td colspan='3'> ** No hay libros**</td></tr>";
}

?>


</table>
</div> <!--fin div botones-->
</FORM>
</div> <!--fin div cuerpocentral-->

<!-- ******************* INFERIOR *********************-->

<div id="inferior">
<h5 align="center"></h5>
</div> <!--fin div inferior-->

</div> <!-- fin de la div general-->
</BODY>
</HTML>

Gracias por sus respuestas!
  #18 (permalink)  
Antiguo 13/12/2011, 10:27
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Eliminar datos con checkbox en mysql con php

$sql = "DELETE FROM libros WHERE titulo='$borrar[$i]' ";

prueba esto
  #19 (permalink)  
Antiguo 13/12/2011, 11:06
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eliminar datos con checkbox en mysql con php

Gracias ya lo probare y les cuento, disculpen tantas preguntas =)

Etiquetas: checkbox, mysql, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:10.