PHP - Como muestro una consulta con Checks seleccionados

   
Vista:

Como muestro una consulta con Checks seleccionados

Publicado por Fabio (2 intervenciones) el 06/11/2014 04:04:02
Este tema lo coloque en otro foro, pero no me lo resolvieron..., espero encontrar acá respuesta...

Hola todos.. ya he estado revisando este tema en el foro, he encontrado algunas soluciones, pero no he encontrado o no he entendido como resolverlo... no encuentro la solución que necesito...

Tengo un formulario de registro donde el cliente selecciona (con checks) "los colores favoritos de una lista con Nombres de Colores", las tablas son las siguientes:

Tabla 1 (Datos básicos del Cliente)
Nombre Cliente
Teléfono
Email
Colores_favoritos

Tabla 2 (Nombres de Colores)
Amarillo
Verde
Rojo
Azul
Negro

Ahora, cuando realizo una consulta necesito cargar nuevamente los datos del cliente (hasta ahi no tengo problema, todo hasta ahi funciona bien), pero también necesito que además se cargue todo el listado (checks) "nombres de colores" con los checks que previamente se habían seleccionado (activos) y los que no (sin activar).

En este momento, en la consulta me esta cargando nuevamente los check de la tabla "Colores", pero no salen Seleccionados los check que previamente se habían Seleccionado.

Como puedo mostrar seleccionados los check que previamente se habían seleccionado?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vainas

Como muestro una consulta con Checks seleccionados

Publicado por Vainas (254 intervenciones) el 06/11/2014 10:38:58
Buenas:

Sabes cargar de nuevo todos los check, cierto?

Tienes los check que el cliente ha seleccionado en un array, cierto?

Ahora lo que tienes es que comparar dentro de un for(foreach) tu array y diga si ha sido seleccionado o no. Si ha sido seleccionado le colocas el atributo "checked" en el checkbox y sino no colocas nada. Un ejemplo

1
2
3
4
5
6
7
8
9
10
11
12
//Tenemos un array con los colores seleccionados por el cliente que llamaremos $colores
$colores = $_POST["colores"];
// Aqui ejecutastes la query y te devuelve las filas en una variable que llamaremos $resultado
$resultado = mysql_query(...);
while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
  if(in_array($fila["columna"]), $colores){
    echo '<input type="checkbox" name="colores[]" value="'.$fila["columna"].'" checked>';
    break;
  }else{
  	echo '<input type="checkbox" name="colores[]" value="'.$fila["columna"].'">';
  }
}


No he probado el codigo, puede que tenga algun fallo pero es la escencia de lo que quiero que veas.

Espero que sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como muestro una consulta con Checks seleccionados

Publicado por Fabio (2 intervenciones) el 06/11/2014 11:00:28
Muchas gracias voy a probar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

Como muestro una consulta con Checks seleccionados

Publicado por Vainas (254 intervenciones) el 06/11/2014 11:18:15
Que lo del foreach se me ha colado. Al final como puedes ver en el codigo lo he hecho con la funcion in_array() que me dice si el parametro esta o no esta en el array.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar