Foros del Web » Programando para Internet » PHP »

Comprobar si se han rellenado los campos

Estas en el tema de Comprobar si se han rellenado los campos en el foro de PHP en Foros del Web. Tengo un formulario cuyos campos se cargan en diferentes tablas de la BD. Pero no todos tienen por qué ser completados. Por eso necesito saber ...
  #1 (permalink)  
Antiguo 13/06/2008, 10:32
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 0
Comprobar si se han rellenado los campos

Tengo un formulario cuyos campos se cargan en diferentes tablas de la BD. Pero no todos tienen por qué ser completados. Por eso necesito saber si se ha rellenado alguno de los campos de cada tabla para enviarlos o no.

Supongo que debo usar un isset pero no tengo muy claro cómo hacerlo. He probado algo como

Código PHP:
$total = isset ($var1$var2...); 
Pero luego no sé cómo comprobar si $total tiene algún contenido, siempre me devuelve que sí.
  #2 (permalink)  
Antiguo 13/06/2008, 10:44
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Comprobar si se han rellenado los campos

Hola

el mandar datos vacios de un campo de form ala BD, no es problema mientras los campos de la BD sean NULL, osea que pueden quedar vacios

otra cosa es que tengas un form en varias partes, que van a varias tablas y quieras saber si alguno de los campos de una parte en concreto existen o no se hace con isset, que devuenve TRUE cuando esta definida la variable,

pero repito, no hace falta que todos los campos de un form esten completadps para hacer un INSERT a la BD

Un saludo
  #3 (permalink)  
Antiguo 13/06/2008, 10:57
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Comprobar si se han rellenado los campos

Ese no es el problema, tal vez no me he explicado bien. El caso es que tengo un formulario que rellena varias tablas, lo que quiero saber es si TODOS los campos de una misma tabla están vacíos para no enviarlos y no crear un registro vacío en la tabla. He dividido los datos en tablas precisamente para evitar crear una gran cantidad de registros vacíos. Explico un poco la estrcutura para que se entienda mejor:

TABLA PRODUCTOS
id
nombre
id_caracteristicas1
id_caracteristicas2
...

TABLA CARACTERISTICAS1

TABLA CARACTERISTICAS2

Si ese producto sólo tiene características1, no quiero que se cree un registro vacío en la tabla de Características2, simplemente dejaría la id_caracteristicas2 vacío.

Espero que ahora se entienda mejor.
  #4 (permalink)  
Antiguo 13/06/2008, 11:42
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Comprobar si se han rellenado los campos

lo tendras que hacer con IF´s y

if ($var1==NULL && $var2==NULL .........){

tantos if como grupo de campos a comprovar

es una idea para comenzar

Un saludo
  #5 (permalink)  
Antiguo 13/06/2008, 11:58
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Comprobar si se han rellenado los campos

Es poco práctica porque en alguna tabla hay más de 20 campos, pero si no hay ninguna otra manera, tendré que hacerlo así,
  #6 (permalink)  
Antiguo 13/06/2008, 12:04
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Comprobar si se han rellenado los campos

No te parece comodo hacer algo como:

Código:
$algunoSeteado = isset(campo1) || isset(campo2).... ;

if ($algunoSeteado){
//Guardas las cosas en la tabla
}else{
//....
}
?
__________________
Saludoss
Guille
  #7 (permalink)  
Antiguo 13/06/2008, 12:15
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Comprobar si se han rellenado los campos

Sí, haré algo así, gracias.
  #8 (permalink)  
Antiguo 13/06/2008, 12:37
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Comprobar si se han rellenado los campos

Cita:
Iniciado por guille_el3 Ver Mensaje
No te parece comodo hacer algo como:

Código:
$algunoSeteado = isset(campo1) || isset(campo2).... ;

if ($algunoSeteado){
//Guardas las cosas en la tabla
}else{
//....
}
?
Lo he probado pero sigue dándome siempre TRUE aunque deje todos los campos vacíos.
  #9 (permalink)  
Antiguo 13/06/2008, 12:45
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Comprobar si se han rellenado los campos

Al final parece que funcionó la propuesta de jaronu. Gracias.
  #10 (permalink)  
Antiguo 13/06/2008, 12:49
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Comprobar si se han rellenado los campos

mmm hacer == NULL no me pone contento igual. Yo usaría (de puro capricho) is_null().

suerte!
__________________
Saludoss
Guille
  #11 (permalink)  
Antiguo 13/06/2008, 13:04
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Comprobar si se han rellenado los campos

Cita:
Iniciado por guille_el3 Ver Mensaje
No te parece comodo hacer algo como:

Código:
$algunoSeteado = isset(campo1) || isset(campo2).... ;

if ($algunoSeteado){
//Guardas las cosas en la tabla
}else{
//....
}
?

sobre la comodidad, creo que es mas comoda la forma que puse, has de escribir, en definitiva, todos los campos, y a demas te ahorras una linea

Un saludo
  #12 (permalink)  
Antiguo 13/06/2008, 13:17
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Comprobar si se han rellenado los campos

is_null () no me funciona, pero la versión ==NULL sí, así que me quedo con esa para no perder más el tiempo dándole vueltas. Gracias por la ayuda.
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 21:42.