Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Preparar una consulta Pgsql con PHP

Estas en el tema de Preparar una consulta Pgsql con PHP en el foro de PHP en Foros del Web. Hola amigos, tengo una duda que necesito aclarar tengo un formulario con 4 campos select y 1 textarea Select: Curso, asignatura, unidad, objetivo textarea: Encabezado ...
  #1 (permalink)  
Antiguo 18/10/2016, 11:19
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 1
Preparar una consulta Pgsql con PHP

Hola amigos, tengo una duda que necesito aclarar

tengo un formulario con 4 campos select y 1 textarea

Select: Curso, asignatura, unidad, objetivo
textarea: Encabezado

Y tengo que hacer una consulta a la bd donde que busque con al menos uno de esos parametros.

mi problema son los campos vacios.

los campos select en la BD, son numericos, ya que son ID's entonces no puedo aplicarles ILIKE como para que de lo mismo si estan vacios o no

como lo puedo hacer???

se me ocurre hace una consulta para cada combinacion, pero creo que no es eficiente,

ejemplo.
si curso vacio hacer consulta con todos los otros campos
si asignatura vacia hacer consulta con el resto
si curso y asignatura vacia hacer consulta con el resto

son demasiadas combinaciones...

Alguna idea???? por favor

gracias
  #2 (permalink)  
Antiguo 18/10/2016, 13:15
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Preparar una consulta Pgsql con PHP

Hola ramcy,

Se me ocurre que puedes montar la query en PHP con condicionales, algo así:

Código PHP:
Ver original
  1. $query = "SELECT campo_x,
  2.                       campo_y,
  3.                       campo_z
  4.                FROM tabla
  5.                WHERE 1 = 1";
  6.  
  7.  
  8.         if (trim($_POST['Curso']) != "")
  9.  
  10.             $query.= " AND Curso = '" . $_POST['Curso'] . "'";
  11.  
  12.  
  13.  
  14.         if (trim($_POST['asignatura']) != "")
  15.  
  16.             $query.= " AND asignatura = '" . $_POST['asignatura'] . "'";
  17.  
  18.  
  19.  
  20.         if (trim($_POST['unidad']) != "")
  21.  
  22.             $query.= " AND unidad = '" . $_POST['unidad'] . "'";
  23.  
  24.  
  25.  
  26.          if (trim($_POST['objetivo']) != "")
  27.  
  28.             $query.= " AND objetivo = '" . $_POST['objetivo'] . "'";
  29.  
  30.          if (trim($_POST['Encabezado']) != "")
  31.  
  32.             $query.= " AND Encabezado = '" . $_POST['Encabezado'] . "'";

Supongo que se entiende la idea, espero que te sirva...
  #3 (permalink)  
Antiguo 19/10/2016, 10:36
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: Preparar una consulta Pgsql con PHP

Mil gracias, no se me habría ocurrido jamás. A la tarde haré el intento y lo comento acá.

Gracias de nuevo.

Slds.
  #4 (permalink)  
Antiguo 20/10/2016, 16:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: Preparar una consulta Pgsql con PHP

Un master!!!! funcionó a la perfección.

Mil gracias
  #5 (permalink)  
Antiguo 21/10/2016, 03:19
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Preparar una consulta Pgsql con PHP

Me alegro de que te sirviera...

Etiquetas: formulario, select
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 18:09.