Foros del Web » Programando para Internet » PHP »

PHP OO filtrar datos sql por medio de varios ID separados por comas

Estas en el tema de filtrar datos sql por medio de varios ID separados por comas en el foro de PHP en Foros del Web. Resulta que tengo que filtrar de mi bases de datos donde los ID sean igual a $filtrar = "1 , 2, 6, 10, 15" ; ...
  #1 (permalink)  
Antiguo 17/06/2011, 16:44
 
Fecha de Ingreso: junio-2011
Mensajes: 19
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta filtrar datos sql por medio de varios ID separados por comas

Resulta que tengo que filtrar de mi bases de datos donde los ID sean igual a
$filtrar = "1 , 2, 6, 10, 15" ;

Mi bases de datos = "Casas"

Tabla: ( id_casa , nombre_casa )

$query_casas = "SELECT * FROM nombre_casa WHERE id_casa = '$filtrar' ";

Esto no me resulta por que hace una busqueda de 1 , 2, 6, 10, 15 todo pegado, necesito los ID , por separados.

Ah estos ( 1 , 2, 6, 10, 15 ) son DINAMICOS, pueden ser otros y mas o menos cantidades y valores de numeros. dependen del valor de la variable $filtrar


Gracias a los que se interesan en ayudar.

Última edición por luis_fretes; 17/06/2011 a las 16:51
  #2 (permalink)  
Antiguo 17/06/2011, 16:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: filtrar datos sql por medio de varios ID separados por comas

pues imagino que con hacer:
"select id_casa , nombre_casa, where id_casa=1 or id_casa=2 or id_casa=6 or id_casa=10 or id_casa=15"

o si son valores variables:

"select id_casa , nombre_casa, where id_casa=$v1 or id_casa=$v2 or id_casa=$v3 or id_casa=$v4 or id_casa=$v5"
  #3 (permalink)  
Antiguo 17/06/2011, 17:00
 
Fecha de Ingreso: junio-2011
Mensajes: 19
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: filtrar datos sql por medio de varios ID separados por comas

Pues tienes Razon ocp001a, pero olvide mensionar que la variable
$filtrar = ("1 , 2, 6, 10, 15") ;

Puede llegar a ser mas de 100 numeros ejemplo
$filtrar = ("1 , 2, 6, 10, 15 , 20 , 50, 55, 56, 66, 44, 48, 90, 60, 70, 88, 99, 110, 150")

me imagino que con un while o un for se podra, pero eso es lo que no se como hacer, esque ando escribiendo poco codigos
  #4 (permalink)  
Antiguo 17/06/2011, 17:16
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: filtrar datos sql por medio de varios ID separados por comas

Código PHP:
Ver original
  1. $sql="CREATE TEMPORARY TABLE IF NOT EXISTS temp_casas(`id_casa` int(10) unsigned NOT NULL) ";
  2. $db->Execute($sql)
  3.    
  4. foreach ($respuestas as $value){
  5.     $query="INSERT INTO `temp_casas`(id_casa) VALUES ('$value');";
  6.     $db->Execute($query);
  7. }
  8. $querymalevolo="select c.id_casa , c.nombre_casa from casas as c, temp_casas as tc where c.id_casa=tc.id_casa";
  9. $db->Execute($querymalevolo);
  10.  
  11. $sqldrop="DROP TABLE temp_casas";
  12. $objDB->exeQuery($sqldrop);

estaría bueno saber cual es el argumento que asumes para decir que esta respuesta esta mal , si llegan a ser varios datos me parece una buena solución en lugar de armar una cadena enorme separada por comas, pero estaría bueno ver el argumento
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo

Última edición por mogurbon; 17/06/2011 a las 17:55 Razón: faltaba borrar la tabla temporal
  #5 (permalink)  
Antiguo 17/06/2011, 19:23
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 5 meses
Puntos: 56
Respuesta: filtrar datos sql por medio de varios ID separados por comas

la consulta es sencilla:
Código PHP:
$filtrar='1,3,5,6'//pueden ser más
$query_casas "SELECT * FROM nombre_casa WHERE id_casa IN ($filtrar)"
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #6 (permalink)  
Antiguo 17/06/2011, 20:44
 
Fecha de Ingreso: junio-2011
Mensajes: 19
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: filtrar datos sql por medio de varios ID separados por comas

Cita:
Iniciado por jcxnet Ver Mensaje
la consulta es sencilla:
Código PHP:
$filtrar='1,3,5,6'//pueden ser más
$query_casas "SELECT * FROM nombre_casa WHERE id_casa IN ($filtrar)"
Gracias AMIGO, creo que veo el cielo con tu solucion jeje.. si no encontraba esta respuesta me mataba el sueño.. ahora lo probe y si , realmente funciona!! +10 puntos para vos

Etiquetas: filtrar, sql
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 23:36.