Foros del Web » Programando para Internet » PHP »

select multiples parametros de busqueda...

Estas en el tema de select multiples parametros de busqueda... en el foro de PHP en Foros del Web. Tengo una duda en al busqueda chicos. Hay ua tabla con 30 columnas, y los valores en ellos son solo 0 o 1. Es descripcion ...
  #1 (permalink)  
Antiguo 05/11/2006, 14:24
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
select multiples parametros de busqueda...

Tengo una duda en al busqueda chicos.
Hay ua tabla con 30 columnas, y los valores en ellos son solo 0 o 1.
Es descripcion de inmueble. Por ejemllo si columna ¨terrasa¨ tiene valor 0 es que no tiene inmuble terrasa y si es 1 lo tiene.
Si yo nesesito sacar solo campos donde hay 1 como puedo hacer lo sin nombrar todos 30 campos , osea
select form .... where campo1=1 and campo2=1 and ,..... campo 30=1
y cuando saca que yo sepa que valores saca (nopmbre del campo que tiene valor 1)
Alo mejor pido demasiado de sql.
Gracias a todos en este foro.
  #2 (permalink)  
Antiguo 06/11/2006, 03:23
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
Intentare explicar mejor.
Tengo una consulta de seleccion que es siguiente
Select * from DescriptionMueble Where IdMueble=$id_mueble and Garaje=1 and Ascensor=1 and Armarios=1 and Calefacción=1 and Muebles=1 and PBlindada=1 and PorteroAut=1 and VidriosDobles=1 and AñoConstrucción=1 and GastosComunidad=1 and Agua=1 and Luz=1 and Gas=1 and Chimenea=1and .......unos 30 campos mas
O sea solo tengo que elejir los campos que tienen valor 1 en lugar de 0. Porque son campos smallint(6) que solo pueden tener valo 1 o 0.
  #3 (permalink)  
Antiguo 06/11/2006, 05:54
 
Fecha de Ingreso: octubre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
Hola,

Pues puedes usar el comando de mysql "Describe" que te devuelve los campos de una tabla: Nombre, tipo, null, etc..
Se recorren los campos y se comprueba que es del tipo smallint(6), si es de ese tipo se añade la clausula where correspondiente:

$describe=mysql_query("describe DescriptionMueble");
for ($j=0;$j<mysql_num_rows($describe);$j++)
{
$campos=mysql_fetch_array($describe, MYSQL_ASSOC);
if ($campos["Type"]=="smallint(6)") $where.=" AND $campos[Field]='1'";
}

$sql=" SELECT FROM DescriptionMueble Where IdMueble='$id_mueble' $where";
  #4 (permalink)  
Antiguo 06/11/2006, 06:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Creo que tu "diseño" de tu BBDD te va a complicar mucho lo que pretendes hacer.

Si en lugar de tratar el tema como "30 campos" en una tabla lo enfocas como "registro por propiedad/descripción" .. sería mejor para hacer todo tipo de consultas a tu BBDD.

Me refiereo a:

Tabla Inmueble
id_inmueble
direccion
etc

Tabla propiedades_inmueble
id_propiedad_inmueble
propiedad (terraza, porteroAutomatico, etc ...)


Y otra tabla que relaciona los Inmuebles con sus propiedades:

Tabla relacion
id_relacion
id_inmueble
id_propiedad_inmueble

De esta forma tu sistema incluso puede crecer como quieras, es decir añadir una propiedad más a tu sistema no es más que crear un registro más en la "Tabla propiedades_inmueble".

Con un uso de SQL adecuado puedes buscar propiedades que contenga las propiedades que necesites .. hacer todo tipo de agrupamientos, estadísticas .. etc. Es decir, un sistema más "normalizado" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 06/11/2006, 07:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
El problemas Cluster es que el Base de DAtos ya esta echa y no es modificable. Es un programa de gestion inmobiliaria comercial, y para desarrollar la web solo me permiten exportar la DB incluso algunas tablas no todas, respetando la estructura, ya que de ello depende el programa.
  #6 (permalink)  
Antiguo 06/11/2006, 07:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por viktoria Ver Mensaje
El problemas Cluster es que el Base de DAtos ya esta echa y no es modificable. Es un programa de gestion inmobiliaria comercial, y para desarrollar la web solo me permiten exportar la DB incluso algunas tablas no todas, respetando la estructura, ya que de ello depende el programa.
Bueno .. contra un "mal diseño" que no puedes modificar sólo cabe soluciones como las que ten han comentado ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 06/11/2006, 09:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 6 meses
Puntos: 0
Gracias chicos por la ayuda. Es realmente util y aprendo mucho con vosotros.
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 02:25.