Foros del Web » Programando para Internet » PHP »

Generar consultas

Estas en el tema de Generar consultas en el foro de PHP en Foros del Web. Buenos días, espero me puedan ayudar, tengo que realizar una consulta con 10 ítems diferentes en el WHERE, y tres de ellos siempre deben ir, ...
  #1 (permalink)  
Antiguo 18/05/2013, 07:58
Avatar de lucarto  
Fecha de Ingreso: noviembre-2011
Ubicación: Neiva
Mensajes: 17
Antigüedad: 12 años, 5 meses
Puntos: 0
Generar consultas

Buenos días, espero me puedan ayudar, tengo que realizar una consulta con 10 ítems diferentes en el WHERE, y tres de ellos siempre deben ir, el resto tiene que tener el valor de 0. Ejemplo.

SELECT * FROM nomTable WHERE term1 = 'xx' AND term2 = 'xx' AND term3 = 'xx' AND term4 = 0 AND term5 = 0 AND term6 = 0 AND term7 = 0

La siguiente consulta debe ser

SELECT * FROM nomTable WHERE term1 = 'xx' AND term2 = 'xx' AND term3 = 'xx' AND term4 = 'xx' AND term5 = 0 AND term6 = 0 AND term7 = 0

SELECT * FROM nomTable WHERE term1 = 'xx' AND term2 = 'xx' AND term3 = 'xx' AND term4 = 0 AND term5 = 'xx' AND term6 = 0 AND term7 = 0 ..... y así sucesivamente, la idea es que también se puede realizar búsquedas por mas ítems diferentes de 0, entonces el problema es que fácilmente pueden salir más de 50 consultas, hay alguna manera que con php, se genere automáticamente.

Gracias
  #2 (permalink)  
Antiguo 18/05/2013, 08:39
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Generar consultas

Hola lucarto

Los campos son siempre los mismos?
Los valores los capturas a través de formularios?

Si se puede generar automáticamente, la cuestión es comprender como estas capturando los datos para saber cómo ayudarte.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 18/05/2013, 09:00
Avatar de lucarto  
Fecha de Ingreso: noviembre-2011
Ubicación: Neiva
Mensajes: 17
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Generar consultas

hola the_web_saint,

si señor los campos son siempre fijos, hay tres de ellos que siempre van a tener la misma informacion, los otros tres items, van a tener valor 0, siempre y cuando no se busque por ellos, y los datos vienen por variables de session.

Saludos
  #4 (permalink)  
Antiguo 18/05/2013, 09:08
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Generar consultas

Ok, entonces crea la sentencia por defecto en una variable por ejemplo $sql
Código MySQL:
Ver original
  1. SELECT * FROM nomTable WHERE term1 = 'xx' AND term2 = 'xx' AND term3 = 'xx'
y debajo vas concatenando los "and" dependiendo si existe o no:
Código PHP:
Ver original
  1. if(isset($_SESSION['item4']))
  2. {
  3. $sql.=" AND term4 = '$_SESSION['item4']' ";
  4. }
  5. else
  6. {
  7. $sql.=" AND term4 = 0 ";
  8. }

y así sucesivamente.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 18/05/2013, 09:13
Avatar de lucarto  
Fecha de Ingreso: noviembre-2011
Ubicación: Neiva
Mensajes: 17
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Generar consultas

Hola the_web_saint,

lo que pasa es que las variables de session siempre van a estar presentes, el script lo que va hacer es que por medio de las consultas, van a traer diferentes images, entonces realizando la combinacion de todas ellas facilmente salen unas 50 o mas consultas, lo que pretendo es no escribirlas todas, estoy tratando de buscar un manera que el sistema las genere. no se si me explique Bien.

Gracias por tus aportes.

Saludos
  #6 (permalink)  
Antiguo 18/05/2013, 09:25
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Generar consultas

Ok, comprendo.

Ahora, como es el algoritmo que usas para sacar esas 50 consultas?
Comprendo que las 3 primeras siempre tendrán valores, luego vas variando el cuarto campo con valor y los demás con 0; luego el 5 campo con valor y los demás en cero, luego el 6 campo y los demás en 0... y después?

Danos un ejemplo para establecer un patrón a seguir y poder generar las líneas de código que te den lo que necesitas.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 18/05/2013, 09:46
Avatar de lucarto  
Fecha de Ingreso: noviembre-2011
Ubicación: Neiva
Mensajes: 17
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Generar consultas

mira, esta es una consulta sencilla, esta realizada por clases, entonces aqui solo va, la parte del WHERE.

Código PHP:
Ver original
  1. $carrusel = $hotspot->find(array('code'=>'Carrousel','language_id'=>'es', 'profile_id'=>$profile_id,'business_unit_id'=>0,'company_c_types_id'=>0));
  2.  
  3. $carrusel2 = $hotspot->find(array('code'=>'Carrousel','language_id'=>'es', 'profile_id'=>0,'business_unit_id'=>$business_unit_id,'company_c_types_id'=>0));
  4.  
  5. $carrusel = array_merge($carrusel,$carrusel2);

pero esta en sencilla, ya que solo esta compuesta de 4 item, en la que tengo que realizar son 10.

Gracias.

Etiquetas: 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 01:48.