Foros del Web » Programando para Internet » PHP »

Cómo hacer un array de acuerdo a la selección de varios checkbox...????

Estas en el tema de Cómo hacer un array de acuerdo a la selección de varios checkbox...???? en el foro de PHP en Foros del Web. Tengo una página de la cual quiero eliminar varios registros y esos registros los selecciono mediante un checkbox para posteriormente eliminarlos. El botón "Eliminar" debe ...
  #1 (permalink)  
Antiguo 04/06/2012, 18:09
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Cómo hacer un array de acuerdo a la selección de varios checkbox...????

Tengo una página de la cual quiero eliminar varios registros y esos registros los selecciono mediante un checkbox para posteriormente eliminarlos.
El botón "Eliminar" debe borrar solo los registros que son seleccionados mediante del checkbox y envía todas las variables al archivo Procesamiento.php.

En el archivo Procesamiento tengo una iteración SWITCH con el caso "Eliminar" de la siguiente manera...

Código PHP:
case "eliminar"header ("Location: eliminar_AyG.php?date_01=".$_REQUEST['date_01']."&date_02=".$_REQUEST['date_02'].
"&concep_1=".$_REQUEST['concep_1']."&mov_1=".$_REQUEST['mov_1']."&import_1=".$_REQUEST['import_1']."&box-1=".$_REQUEST['box-1'].
"&concep_2=".$_REQUEST['concep_2']."&mov_2=".$_REQUEST['mov_2']."&import_2=".$_REQUEST['import_2']."&box-2=".$_REQUEST['box-2'].
"&concep_3=".$_REQUEST['concep_3']."&mov_3=".$_REQUEST['mov_3']."&import_3=".$_REQUEST['import_3']."&box-3=".$_REQUEST['box-3'].
"&concep_4=".$_REQUEST['concep_4']."&mov_4=".$_REQUEST['mov_4']."&import_4=".$_REQUEST['import_4']."&box-4=".$_REQUEST['box-4'].
"&concep_5=".$_REQUEST['concep_5']."&mov_5=".$_REQUEST['mov_5']."&import_5=".$_REQUEST['import_5']."&box-5=".$_REQUEST['box-5'].
"&concep_6=".$_REQUEST['concep_6']."&mov_6=".$_REQUEST['mov_6']."&import_6=".$_REQUEST['import_6']."&box-6=".$_REQUEST['box-6'].
"&concep_7=".$_REQUEST['concep_7']."&mov_7=".$_REQUEST['mov_7']."&import_7=".$_REQUEST['import_7']."&box-7=".$_REQUEST['box-7'].
"&concep_8=".$_REQUEST['concep_8']."&mov_8=".$_REQUEST['mov_8']."&import_8=".$_REQUEST['import_8']."&box-8=".$_REQUEST['box-8'].
"&concep_9=".$_REQUEST['concep_9']."&mov_9=".$_REQUEST['mov_9']."&import_9=".$_REQUEST['import_9']."&box-9=".$_REQUEST['box-9'].
"&concep_10=".$_REQUEST['concep_10']."&mov_10=".$_REQUEST['mov_10']."&import_10=".$_REQUEST['import_10']."&box-10=".$_REQUEST['box-10'].
"&concep_11=".$_REQUEST['concep_11']."&mov_11=".$_REQUEST['mov_11']."&import_11=".$_REQUEST['import_11']."&box-11=".$_REQUEST['box-11'].
"&concep_12=".$_REQUEST['concep_12']."&mov_12=".$_REQUEST['mov_12']."&import_12=".$_REQUEST['import_12']."&box-12=".$_REQUEST['box-12'].
"&concep_13=".$_REQUEST['concep_13']."&mov_13=".$_REQUEST['mov_13']."&import_13=".$_REQUEST['import_13']."&box-13=".$_REQUEST['box-13']);
break; 
Entonces mi problema radica cuando yo NO selecciono todos los checkbox. Porque el Caso "eliminar" se queda buscando los demás query $_REQUEST que hacen falta. Y me manda el siguiente mensaje.

Código:
Notice: Undefined index: box-1 in C:\xampp\htdocs\viaticos\procesamiento.php on line 114

Notice: Undefined index: concep_5 in C:\xampp\htdocs\viaticos\procesamiento.php on line 118

Notice: Undefined index: mov_5 in C:\xampp\htdocs\viaticos\procesamiento.php on line 118

Notice: Undefined index: import_5 in C:\xampp\htdocs\viaticos\procesamiento.php on line 118

Notice: Undefined index: box-5 in C:\xampp\htdocs\viaticos\procesamiento.php on line 118
Ya que si yo selecciono TODAS las casillas (13 en total) sí me borra toda la tabla sin ningún problema pero si me salto algun checkbox por seleccionar manda error de Undefined index:
Traté de hacerlo mediante un array y nada de nada...

Código PHP:
case "eliminar"
// Inicializacion del Vector

box-[1]='ON';
box-[2]='ON';
box-[3]='ON';
box-[4]='ON';
box-[5]='ON';
box-[6]='ON';
box-[7]='ON';
box-[8]='ON';
box-[9]='ON';
box-[10]='ON';
box-[11]='ON';
box-[12]='ON';
box-[13]='ON';

// Impresion del vector

header ("Location: eliminar_AyG.php?date_01=".$_REQUEST['date_01']."&date_02=".$_REQUEST['date_02'].

for ($=
1$i<14$i++)
{

if (
box-[i]='ON')
{
"&concep_i=".$_REQUEST['concep_i']."&mov_i=".$_REQUEST['mov_i']."&import_i=".$_REQUEST['import_i']."&box-i=".$_REQUEST['box-i'].
}  
// END if
//  END for

break; 
Alguien me puede echar la mano para solo seleccionar los checkbox seleccionados????

Como ejemplo pongo que solo he seleccionado los checkbox 1,3,5 y 7.
Entonces quedaría de la sigueinte maneta:
Código PHP:
case "eliminar"header ("Location: eliminar_AyG.php?date_01=".$_REQUEST['date_01']."&date_02=".$_REQUEST['date_02'].
"&concep_1=".$_REQUEST['concep_1']."&mov_1=".$_REQUEST['mov_1']."&import_1=".$_REQUEST['import_1']."&box-1=".$_REQUEST['box-1'].
"&concep_3=".$_REQUEST['concep_3']."&mov_3=".$_REQUEST['mov_3']."&import_3=".$_REQUEST['import_3']."&box-3=".$_REQUEST['box-3'].
"&concep_5=".$_REQUEST['concep_5']."&mov_5=".$_REQUEST['mov_5']."&import_5=".$_REQUEST['import_5']."&box-5=".$_REQUEST['box-5'].
"&concep_7=".$_REQUEST['concep_7']."&mov_7=".$_REQUEST['mov_7']."&import_7=".$_REQUEST['import_7']."&box-7=".$_REQUEST['box-7']);
break; 
y no quedaría desde el checkbox 1 hasta el checkbox 13 como lo he pegado en el primer cuadro.

Saludos y mil gracias por su ayuda.

Última edición por benjaminvera; 04/06/2012 a las 18:20
  #2 (permalink)  
Antiguo 04/06/2012, 18:33
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Cómo hacer un array de acuerdo a la selección de varios checkbox...????

Para comenzar es completamente desaconsejado usar $_REQUEST, porque se pueden enviar variables tanto del tipo GET como POST y el archivo PHP los procesará por igual por lo que puede usarse como agujero de seguridad...

Referente a tu problema debes leer un buen manual/tutorial de HTML, ya que deberías saber que el navegador puede enviar los valores de los checkbox como array nativamente agregando corchetes [] al name del input....

Código HTML:
Ver original
  1. <form method="post" action="miarchivo.php">
  2. <input type="checkbox" name="prueba[]" value="1" />
  3. <input type="checkbox" name="prueba[]" value="2" />
  4. <input type="checkbox" name="prueba[]" value="3" />
  5. <input type="checkbox" name="prueba[]" value="4" />
  6. <input type="checkbox" name="prueba[]" value="5" />
  7. <input type="checkbox" name="prueba[]" value="6" />
  8. <input type="checkbox" name="prueba[]" value="7" />
  9. <input type="checkbox" name="prueba[]" value="8" />
  10. <input type="checkbox" name="prueba[]" value="9" />
  11. <input type="checkbox" name="prueba[]" value="0" />
  12.  
  13. <input type="submit" value="Enviar" />
  14. </form>

y los recoges así...
Código PHP:
Ver original
  1. if (isset($_POST['prueba'])) {
  2.      foreach($_POST['prueba'] as $checkbox) {
  3.           echo $checkbox;
  4.      }
  5. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 03/12/2012, 09:12
 
Fecha de Ingreso: junio-2011
Mensajes: 13
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Cómo hacer un array de acuerdo a la selección de varios checkbox...????

Disculapa Nemutagk eso mismo como se puede hacer si los check tienen el mismo nombre?

Etiquetas: acuerdo, registro, variables
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 23:13.