Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2007
EgArOtH EgArOtH is offline
Registrado
 
Registrado: jul 2007
Posts: 2
Poder: 0
EgArOtH Va por buen camino
Problema con un checkbox en PHP.

Veran tengo una lista de checkbox con el siguiente name (Borrar[]) y el siguiente valor (VALOR="on"). Todo esto lo paso por el metodo POST a otro formulario. Una vez alli hago un count de forma correcta (count($_POST['Borrar']) y me cuenta bien todos los checkbox que tengo pero a la hora de mirar si los checkbox estan seleccionados no se bien como hacerlo. Se que al activar un checkbox se activa lo que tienes en el valor pero no se como utilizarlo. Lo e intentado de esta forma, pero esta mal (if ($_POST['Borrar']=="On")) y de esta otra tambien (if ($_POST[$Borrar[x]]=="On")) y ya nose que hacer. Espero que sepan hecharme una mano. Gracias de antemano a todos. Un saludo.
Responder Con Cita
  #2  
Antiguo 26-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si nombras "borrar[]" a tus checkbox, no sabrás realmente cuáles se seleccionaron. Vamos a suponer que tienes este formulario

Código:
<form method='post' action='checkbox.php'>
A <input type='checkbox' name='borrar[]'>
B <input type='checkbox' name='borrar[]'>
C <input type='checkbox' name='borrar[]'>
<input type='submit'>
</form>
Si seleccionas una sola casilla, no importa cual, siempre recibirás el mismo arreglo:

Código:
[borrar] => Array
		(
				[0] => on
		)
Esto es así, porque PHP asigna los índices en automático. Si seleccionases las casillas B y C, recibirás esto:

Código:
[borrar] => Array
		(
				[0] => on
				[1] => on
		)
en lugar de lo que esperarías:

Código:
[borrar] => Array
		(
				[1] => on
				[2] => on
		)
Entonces, es mejor asignar tú mismo los índices en el formulario en sí:

Código:
<form method='post' action='checkbox.php'>
A <input type='checkbox' name='borrar[0]'>
B <input type='checkbox' name='borrar[1]'>
C <input type='checkbox' name='borrar[2]'>
<input type='submit'>
</form>
Así, recibirás los índices correctos. Para ver cuáles se seleccionaron, bastaría ver si el índice correspondiente está presente en el arreglo:

Código PHP:
if (array_key_exists($indice$_POST['borrar'])
{
  ...

Los índices de tu arreglo borrar[] pueden ser consecutivos como en el ejemplo, o bien, ya dependiendo de tu caso particular, alguna otra cosa. Por ejemplo, si las casillas corresponden a elementos de una base de datos, el índice podría ser el ID de cada registro.

// Saludos
Responder Con Cita
  #3  
Antiguo 27-07-2007
EgArOtH EgArOtH is offline
Registrado
 
Registrado: jul 2007
Posts: 2
Poder: 0
EgArOtH Va por buen camino
Gracias...

Muchas gracias por resolverme la duda, ya me funciona todo perfecto, como tu bien decias corresponde a campos de la base de datos y e utilizado los id de los campos y me a resultado facil aunque sin tu respuesta.... otro gallo cantaria xDD. Gracias tambien por la brevedad en la respuesta. Un Saludo compañero.

Javier.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con checkbox raquel Varios 6 03-07-2008 20:27:35
DBGrid+checkbox vicrati Conexión con bases de datos 5 14-08-2006 11:08:23
Checkbox en un STRINGGRID Iuconlas Varios 2 21-10-2005 18:57:50
Problema con color de checkbox gontxalo Varios 3 09-06-2005 21:18:05
checkbox superhopi OOP 3 12-05-2003 10:32:46


La franja horaria es GMT +2. Ahora son las 09:28:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi