Foros del Web » Programando para Internet » PHP »

Eliminar registro de una tabla con checkbox

Estas en el tema de Eliminar registro de una tabla con checkbox en el foro de PHP en Foros del Web. Hola que tal, tengo una consulta que agradeceria me pudieran ayudar a resolver... Tengo poco en el desarollo de bases de datos con php y ...
  #1 (permalink)  
Antiguo 18/04/2008, 00:59
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Pregunta Eliminar registro de una tabla con checkbox

Hola que tal, tengo una consulta que agradeceria me pudieran ayudar a resolver...

Tengo poco en el desarollo de bases de datos con php y MySql y recientemente me hize una bd, en la cual te registras en un campo con tu nombre y en otro con tu telefono osea 2 campos en una table.

Ya logre hacer mi pagina de resultados, donde me muestra todos los registros ingresados a la db... ahora lo que quiero, es poner un chekbox a un lado de cada registro en mi listado para señalar los registros que no me sirven. Y despues hasta el final del listado un maravilloso botonsito que diga ELIMINAR SELECCION y con eso se borren de mi BD..

He leido en varios foros acerca de como hacer esto.. pero la verdad no entiendo mucho.. agradeceria me explicaran que comandos se emplean y agregar un ejemplo de como hacer esto.
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 18/04/2008, 08:27
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Re: Eliminar registro de una tabla con checkbox

Hola, la verdad es que te falta algo muy importante en lo que base de datos respecta. y es agregar un identificar unico para cada registro, es decir tu tabla deberia quedar:

- id
- nombre
- telefono

Quedando con 3 campos, y no con 2. Dicho esto, al desplegar tus datos, el checkbox debe tener el mismo nombre, el boton eliminar debe ser un submit de algun metodo (post o get) y luego coger la variable del checkbox como array dentro de PHP. No olvides asignar el value del checkbox el ID del registro.

Luego en el PHP recorres el arreglo por algun metodo de ciclo, y dentro le das:

DELETE FROM [nombre_tabla] WHERE id = $id_registro

Eso es. Saludos.
  #3 (permalink)  
Antiguo 18/04/2008, 08:52
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Eliminar registro de una tabla con checkbox

Orale, eso del id no lo sabia.... te agradezco, pero sinceramente como no se mucho de php sigo con algunos problemas.. me puedes ayudar con algun ejemplo... esto es lo que estoy elaborando....

Código PHP:
<table width="95%" border="1">
  <tr>
    <td>Nombre</td>
    <td>Numero</td>
    <td></td>
  </tr>
  <?php do { ?>
    <tr>
      <td><?php echo $row_Recordset1['Nombre']; ?></td>
      <td><?php echo $row_Recordset1['Numero']; ?></td>
        <td></td>
        
        </tr>
    <?php } while ($row_Recordset1 mysql_fetch_assoc($Recordset1)); ?>
</table>
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #4 (permalink)  
Antiguo 18/04/2008, 08:52
Usuario no validado
 
Fecha de Ingreso: julio-2003
Ubicación: <?="www.tuky.cl";?>
Mensajes: 132
Antigüedad: 20 años, 9 meses
Puntos: 4
Re: Eliminar registro de una tabla con checkbox

Holaaa!!

Bueno, yo le he dado muchas vueltas a este asunto... ya que también necesitaba hacer algo parecido... espero te sirva, intenta entenderlo y por cualquier duda acá estamos para ayudar!

Código PHP:
<?php    
    $link 
mysql_connect("localhost""root""");
    
mysql_select_db("base_datos"$link);
    
    if (isset(
$_POST['eliminar_seleccion']))
        if (
count($_POST['seleccion']))
            foreach(
$_POST['seleccion'] as $id => $valor)
                
mysql_query("DELETE FROM tabla WHERE id = ".$id." LIMIT 1"$link);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0" cellpadding="5">
  <tr>
    <td>ID</td>
    <td>Nombre</td>
    <td>Telefono</td>
    <td>&nbsp;</td>
  </tr>
<?php
    $result 
mysql_query("SELECT * FROM tabla"$link);
    while (
$row mysql_fetch_assoc($result)) {
?>
  <tr>
    <td><?php echo $row['id']; ?></td>
    <td><?php echo $row['nombre']; ?></td>
    <td><?php echo $row['telefono']; ?></td>
    <td><input type="checkbox" name="seleccion[<?php echo $row['id']; ?>]" /></td>
  </tr>
<?php
    
}
?>
</table>
<input name="eliminar_seleccion" type="submit" value="Eliminar Seleccion" />
</form>
la tabla ocupada en el ejemplo se crearía así:
Código:
create table tabla (
    id integer auto_increment,
    nombre varchar(50),
    telefono integer,
    primary key (id)
)
  #5 (permalink)  
Antiguo 18/04/2008, 13:48
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Eliminar registro de una tabla con checkbox

Tengo un problemita con lo anterior...


en que estoy mal??

Código PHP:
<?php require_once('Connections/conexion.php'); ?>
<?php
mysql_select_db
($database_conexion$conexion);
$query_cels "SELECT * FROM tabla ORDER BY id ASC";
$cels mysql_query($query_cels$conexion) or die(mysql_error());
$row_cels mysql_fetch_assoc($cels);
$totalRows_cels mysql_num_rows($cels);
?>


<?php    
    $link 
mysql_connect("localhost""root""");
    
mysql_select_db("base_datos"$link);
    
    if (isset(
$_POST['eliminar_seleccion']))
        if (
count($_POST['seleccion']))
            foreach(
$_POST['seleccion'] as $id => $valor)
                
mysql_query("DELETE FROM tabla WHERE id = ".$id." LIMIT 1"$link);
?>
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #6 (permalink)  
Antiguo 18/04/2008, 14:10
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Eliminar registro de una tabla con checkbox

Excelente muchas gracias ya lo logre, son muy amables!!!

En caso de duda consulto gracias...
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #7 (permalink)  
Antiguo 18/04/2008, 14:44
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Eliminar registro de una tabla con checkbox

Ok. Ya me surgio un problemita...

Ingreso un numero por ejemplo: 3921101179

Y me imprime este dato: 2147483647
que por cierto no se por que pone eso
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #8 (permalink)  
Antiguo 18/04/2008, 15:43
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Eliminar registro de una tabla con checkbox

Creo que es algo sencillo pero no logro saber ke pasa... en Dreamweaver me dice esto:




En phpMyAdmin no se a que mas moverle ya intente de cualquire forma... y me sigue cambiando los valores que ingreso
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #9 (permalink)  
Antiguo 18/04/2008, 20:05
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Eliminar registro de una tabla con checkbox

Hechenme la mano, ya nada mas me falta eso para terminar mi DB

que tengo ke modificar
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #10 (permalink)  
Antiguo 18/04/2008, 21:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Eliminar registro de una tabla con checkbox

digamos ke los ID estan en $row['id'];

<input type="checkbox" name="post[<?=$row['id'];?>]">

recibimos $_POST['post']; como un arreglo...
lo pegamos con join(',',$_POST['post']); ((son commas))

para ke nuestra consluta kede asi....

DELETE FROM tabla WHERE id IN (1,9,13,518)

se entiende???


PDTA: ke lata con dreamweaver, has usado el Bloc de Notas???
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 04:03.