Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Eliminar varias filas de un listado

Estas en el tema de Eliminar varias filas de un listado en el foro de HTML en Foros del Web. HOla a todos. Mi problema es el siguiente. tengo un listado donde en cada fila existe un checkbox para seleccionarla y realizar las operaciones permitidas, ...
  #1 (permalink)  
Antiguo 01/12/2015, 08:30
 
Fecha de Ingreso: noviembre-2015
Mensajes: 59
Antigüedad: 8 años, 5 meses
Puntos: 0
Eliminar varias filas de un listado

HOla a todos. Mi problema es el siguiente.

tengo un listado donde en cada fila existe un checkbox para seleccionarla y realizar las operaciones permitidas, ej: editar, eliminar....
Mi problema es al eliminarlas, quisiera la opcion de eliminar todas las que desee con una sola opcion , pero como los checkbox tiene el mismo name="persona" solo se envia la ultima seleccionada en el formulario.

cualquier sugerencia es valida, no tengo que obligatoriamente utilizar checkbox.
saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 01/12/2015, 08:43
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Eliminar varias filas de un listado

el asunto no es el nombre es la id, el check debe tener como valor la id de la fila a eliminar, ya que el nombre puede ser el mismo:

Código PHP:
Ver original
  1. <input type='checkbox' name='elimina' value='".$row['id']."'/>
por ejemplo, de esa manera se crea un array con las ids a eliminar

y el archivo que va a procesar la eliminacion lo podriamos manejar asi:

Código PHP:
Ver original
  1. //verificamos que la variable no venga vacia
  2. if(empty($_POST["elimina"])){}
  3. else{
  4. //contamos la cantidad de registros del array
  5. $eliminar = count($_POST["elimina"]);
  6.  
  7. //iniciamos un bucle
  8. for ($i=0; $i<=$eliminar; $i++) {
  9.        
  10. //asignamos una variable para la query de eliminacion
  11.         $id = $_POST["elimina"][$i];
  12.        
  13. //eliminamos los registros
  14.         $result_eli = $db->query("DELETE FROM tabla WHERE id = '".$id."'");
  15.         }
  16. }

asi eliminar varias filas de un solo golpe, saludos
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 01/12/2015, 08:58
 
Fecha de Ingreso: noviembre-2015
Mensajes: 59
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Eliminar varias filas de un listado

gracias por responder.

en el firebug para cada fila el checkbox se ve correcto


<input type="checkbox" name="id" value="4">

<input type="checkbox" name="id" value="5">

esos son los ejemplos de las filas 4 y 5. mismo id, diferente valor.

los dos los marco pero cuando se envia el formulario imprimo el post :

Array ( [id] => 5 [Eliminar] => Eliminar )

se envia solo el checkbox con id=5 que fue el ultimo que seleccione.
  #4 (permalink)  
Antiguo 01/12/2015, 09:42
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Eliminar varias filas de un listado

de casualidad analisaste el cidgo, bueno, no le coloques como nombre la id, la id va como valor en el value y de nombre colocale elimina
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 01/12/2015, 09:51
 
Fecha de Ingreso: noviembre-2015
Mensajes: 59
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Eliminar varias filas de un listado

el valor de del id de la tabla se lo coloco a value, en name="id", id es solo un nombre como puede ser elimina tambien. asi como me propones el post imprime
Array ( [elimina] => 4 [Eliminar] => Eliminar ) . El problema es que esta enviando solo un checkbox (el ultimo que marco) sin importar cuantos esten marcados. y ni idea pk pasa esto ..
  #6 (permalink)  
Antiguo 01/12/2015, 09:57
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Eliminar varias filas de un listado

coloca el codigo completo para ver, creo saber que pasa, pero debo ver tu codigo primero
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 01/12/2015, 10:07
 
Fecha de Ingreso: noviembre-2015
Mensajes: 59
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Eliminar varias filas de un listado

ya determine el problema. es que en la declaracion del checkbox

el atributo name despues del nombre hacia falta ponerle colchetes para que fuese arreglo Ej. name="elimina[]"

muchas gracias por la ayuda.

Etiquetas: filas, formulario, listado, todo
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 11:09.