PHP - checkbox

   
Vista:

checkbox

Publicado por zendi (824 intervenciones) el 08/09/2014 04:07:00
tengo un codigo para asignar un valor a unas categorias en una base de datos
ejemplo:
para asignar unas vacunas a una persona, debo seleccionar todas las vacunas con checkbox.
Pero la pregunta es como registraria cada vacuna con checkbox a la base de datos?
debo crear un campo para cada checkbox seleccionado?
nota: la base de datos es en PostgreSql.
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

checkbox

Publicado por Gonzalo (338 intervenciones) el 08/09/2014 04:35:24
un checkbox activado devolverá un valor solo esta activado, aqui depende si estas usando el método post (que es el que siempre recomiendo) y el método get (que uso solo en casos absolutamente necesarios)

una definición de un checkbox seria

<input type="checkbox" name="VacunaPolio" value="Polio">Polio
<input type="checkbox" name="VacunaDengue" value="Dengue">Dengue

en este caso
type: indica que el objeto va a ser un checkbox, existe también el Option, el submit (entre otros)
name: es el nombre único del checkbox, asi es como lo vas a identificar entre los checkbox (debe ser nombre único)
value: este es el valor que regresa en caso de estar activo

como no estamos usando javascritp entonces no usamos id;

recuerda que deben estar entre <post>(lista de checkbox)</post>

entonces lo que debes hacer es detectar si el checkbox esta activo

$Polio=0; // damos por hecho que ningún checkbox esta activo.
$Dengue=0;

if(isset($_POST["VacunaPolio"]))
{
$Polio=1;
}
if(isset($_POST["VacunaDengue"]))
{
$Dengue=1;
}

$SqlCommand=
"Update Vacunas set Polio=$Polio, Dengue=$Dengue where IdPaciente='IdPaciente' ";

actualizas la base de datos, etc.

y tambien puedes recuperar el valor asignado al checkbox
if(isset($_POST["VacunaPolio"]))
{
$Polio=$_POST["VacunaPolio"];
}
if(isset($_POST["VacunaDengue"]))
{
$Dengue=$_POST["VacunaDengue"];
}

espero sea de ayuda, suerte, salu2
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

checkbox

Publicado por zendi (824 intervenciones) el 08/09/2014 13:49:26
Gracias Gonzalo, me sirvio el codigo.

Pero fijate esta es mi tabla de la base de datos:

1
2
3
4
5
6
7
8
9
10
11
12
id_consulta serial NOT NULL,
  fecha date NOT NULL,
  id_paciente serial NOT NULL,
  peso numeric(5,2) NOT NULL,
  talla numeric(3,2) NOT NULL,
  circunfcefalica numeric(3,2) NOT NULL,
  circunfbrazo numeric(3,2),
  cod_vacuna integer,
  cod_hcm integer,
  observacion text,
  edad numeric,
)


la duda es que si alli debo agregar un campo por cada vacuna?
ya que tengo el campo cod_vacuna, el cual veo no viene al caso.

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

checkbox

Publicado por Gonzalo (338 intervenciones) el 08/09/2014 16:55:03
bueno, no manejo PostgreSql, pienso que hay algunas soluciones al problema, la que creo que podria funcionar seria esta

base de datos de vacunas
base de datos de pacientes
base de datos de AplicacionDeVacunas


tal vez pudieran quedar asi:

Vacunas

IdVacuna
Nombre
(y algun otro dato)

Pacientes
Id_Paciente
(etc etc)

AplicacionDeVacunas
IdAplicacionDeVacunas
Id_Paciente
IdVacuna
FechaAplicacion

la base de datos de vacunas te ayuda con la lista de checkbox, si agregas o quitas vacunas se agregan o quitan de la pagina en forma automatica.
y las aplicaciones de vacunas es la que realmente lleva el control.

con eso evitas tener toda la lista de vacunas junto con los datos del paciente.

es lo que yo haria, la mejor descicion la tomas tu.

espero sea de ayuda, suerte, salu2.
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

checkbox

Publicado por zendi (824 intervenciones) el 09/09/2014 03:41:44
Si yo estoy claro en eso. Tengo la tabla pacientes y la de consulta cuya estructura fue la que te envie en el post anterior, Y postgresql tiene la misma filosofia de Mysql que tal vez es la que manejas, la duda mia es si debo crear varios campos para guardar las diferentes vacunas que son enviadas con el checkbox?
Bueno 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