Foros del Web » Programando para Internet » PHP »

Como realizar varias condiciones en WHERE de un SELECT?

Estas en el tema de Como realizar varias condiciones en WHERE de un SELECT? en el foro de PHP en Foros del Web. El tema es asi, no logro incluir varias condiciones en la clausula WHERE de un SELECT. El problema que tengo es que yo quiero comparar ...
  #1 (permalink)  
Antiguo 22/04/2012, 12:49
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Como realizar varias condiciones en WHERE de un SELECT?

El tema es asi, no logro incluir varias condiciones en la clausula WHERE de un SELECT. El problema que tengo es que yo quiero comparar registros del WHERE con registros que traigo previamente en otro array. Y nose como hacerlo, probe con un foreach por fuera de todo el select, o el foreach solo luego del where, pero no he logrado que me funcione, seguramente no es asi como se hace.

Nose si se entiende, pero masomenos lo que quiero lograr es esto:
SELECT campo FROM tabla
WHERE id = '$condicion1delarray' AND id = '$condicion2delarray', y asi seguira dependiendo de la cantidad de ids que tengo el array.
  #2 (permalink)  
Antiguo 22/04/2012, 13:26
 
Fecha de Ingreso: mayo-2010
Mensajes: 103
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: Como realizar varias condiciones en WHERE de un SELECT?

Puedes utilizar IN, es decir la consulta quedaría:

SELECT campo FROM tabla
WHERE id IN '$nombrearray'
__________________
salud
ainvar de los carnutos
  #3 (permalink)  
Antiguo 22/04/2012, 13:43
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Como realizar varias condiciones en WHERE de un SELECT?

Tambien puedes hacerlo de esta forma

Código PHP:
Ver original
  1. $my_array = array(1,2,3,4,5,6,7,8);
  2. $my_array_str = join(',',$my_array);
  3.  
  4. echo "SELECT * FROM TABLE WHERE id in(".$my_array_str.")";


Saludos.
  #4 (permalink)  
Antiguo 23/04/2012, 12:57
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 11
Respuesta: Como realizar varias condiciones en WHERE de un SELECT?

Buenisimo gente, muchisimas gracias por el aporte, no conocia ese metodo, es genial. Aunque me genera un pequeño problema. La consulta me trae todos los registros con condiciones multiples del WHERE perfectamente, pero al principio, siempre en el primer valor me trae un dato que en erroneo, incorrecto, y no puedo dar con la solucion. Hasta ahora lo que tengo es esto, alguna sugerencia?

Código MySQL:
Ver original
  1. $my_array = array(30,44);
  2. $my_array_str = implode(',',$my_array);
  3. $query = "SELECT Tags_Noticias.idNoticia, Noticias.idNoticia, Noticias.titulo, Imagenes.image_url FROM Tags_Noticias
  4. INNER JOIN Noticias ON Tags_Noticias.idNoticia = Noticias.idNoticia
  5. INNER JOIN Imagenes ON Imagenes.idImage = Noticias.idImage
  6. WHERE Tags_Noticias.idTag IN (".$my_array_str.")
  7. ORDER BY RAND() LIMIT 4";
  8. $relacion = mysql_query ($query, $dbConn);
  9. while ( $row = mysql_fetch_assoc ($relacion)) {
  10.     array_push($my_array,$row );
  11.     }

Etiquetas: foreach, 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 14:28.