Foros del Web » Programando para Internet » PHP »

Comparar tablas para cargar datos en Combobox

Estas en el tema de Comparar tablas para cargar datos en Combobox en el foro de PHP en Foros del Web. Hola buenas tardes. En la aplicación que estoy realizando tengo dos combobox relacionados, Provincias y municipios. Provincias es una tabla. Municipios es otra tabla. Tengo ...
  #1 (permalink)  
Antiguo 15/07/2009, 13:25
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Comparar tablas para cargar datos en Combobox

Hola buenas tardes.

En la aplicación que estoy realizando tengo dos combobox relacionados, Provincias y municipios.

Provincias es una tabla.
Municipios es otra tabla.
Tengo otra tabla que es inmuebles que es donde guardo las fichas de los inmuebles.

Hasta ahora cuando selecciono la Provincia se activa el combo municipios y me sale la lista de los municipios de esa provincia, lo que necesito hacer es que en el los combobox solo me aparezcan las provincias y municipios que coincidan con las fichas de inmuebles que tengo en mi base de datos.

Osea que si tengo varios inmuebles en diferentes municipios de Cadiz los combobox solo me tienen que mostrar Cadiz y esos municipios.

Alguien me puede decir como hacer el filtrado?

Gracias.
  #2 (permalink)  
Antiguo 15/07/2009, 13:43
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Comparar tablas para cargar datos en Combobox

Tiene que arreglar los selects de las provncias y de losmunicipios.

debe hacer algo parecido a este select que le estoy poniendo de ejemplo o si lo quiere mejor un inner join

select * from provncinas where cod_provincia in (select cod_provincia from tab_inmuebles).

y hace lo mismo con los municipios que coincidan con la provincia seleccionada y que coincidan con los id que estan en inmuebles
  #3 (permalink)  
Antiguo 15/07/2009, 16:18
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Comparar tablas para cargar datos en Combobox

Hola, gracias por la respuesta

El coódigo que tengo en el siguiente:

Código PHP:
$consulta=mysql_query("SELECT id, provincia FROM provincias"); 
El código que me has dado pero con mis datos es el siguiente:

Código PHP:
$consulta=mysql_query("SELECT * FROM provincias WHERE id, provincia IN (SELECT  * FROM inmuebles Where idprovincia, idmunicipio)"); 
No me da ningún error pero no se me carga nada en el combobox.

En el momento que cambio el código que tengo en la web me deja de funcionar.

Alguna sugerencia?

Gracias nuevamente
  #4 (permalink)  
Antiguo 15/07/2009, 16:23
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 7 meses
Puntos: 18
Respuesta: Comparar tablas para cargar datos en Combobox

Prueba

Código php:
Ver original
  1. $consulta=mysql_query("SELECT * FROM provincias WHERE id, provincia IN (SELECT  * FROM inmuebles Where idprovincia, idmunicipio") or die(mysql_error());
  #5 (permalink)  
Antiguo 15/07/2009, 16:27
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Comparar tablas para cargar datos en Combobox

el where de la conjsulta esta mal intente correrla en mysql primero antes de meterla en el php ara evitar estos errores.

no es where id,provincia in..... debe ser where idprovincia in..... o como se llame el campo

otra cosa la condicion del segundo where esta mal
  #6 (permalink)  
Antiguo 15/07/2009, 16:28
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Comparar tablas para cargar datos en Combobox

Hola nuevamente.

ahora por lo menos si da error con el nuevo código.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' provincia IN (SELECT * FROM inmuebles Where idprovincia, idmunicipio' at line 1

Saludos.
  #7 (permalink)  
Antiguo 15/07/2009, 16:29
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Comparar tablas para cargar datos en Combobox

jajase cruzaron los mensajes los esscribimos al tiempo revise lo que comente en el anterior mensaje
  #8 (permalink)  
Antiguo 15/07/2009, 16:36
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Comparar tablas para cargar datos en Combobox

Hola jajajajajaja

Ya veo

son dos campos diferentes de la misma tabla

inmuebles
- idprovincia
- idmunicipio

provincias
- id
- provincia

municipios
- id
- provincia "hace referencia al ID de la tabla provincias"
- municipios

Saludos
  #9 (permalink)  
Antiguo 15/07/2009, 16:41
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Comparar tablas para cargar datos en Combobox

pero ya le funciono? sin embrgo se la ayudo a hacer por si todavia tiene porblemas

select * from provincias where id in (select idprovincia from inmuebles )
  #10 (permalink)  
Antiguo 15/07/2009, 16:46
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Comparar tablas para cargar datos en Combobox

Con tanto cambio de mensajes me he liado

Con el último codigo que me ha enviado sigue dando error

Código PHP:
$consulta=mysql_query("SELECT *FROM provincias WHERE id IN (SELECT  idprovincia FROM inmuebles") or die(mysql_error()); 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Saludos.
  #11 (permalink)  
Antiguo 15/07/2009, 17:00
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Comparar tablas para cargar datos en Combobox

despues de inmuebles falta cerrar parentesis y separe el * del from
  #12 (permalink)  
Antiguo 15/07/2009, 17:05
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Comparar tablas para cargar datos en Combobox

sigue dando el mismo error que anteriormente.

launica manera que tiene de cargar es con este codigo

$consulta=mysql_query("SELECT id, provincia FROM provincias");

Saludos
  #13 (permalink)  
Antiguo 15/07/2009, 17:12
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Comparar tablas para cargar datos en Combobox

entocnes debe ser que en el segundo select el nombre del campo o el de la tabla no coincide con el de su base de datos le tocarevisar y compara usted mismo corriendo directamente el script en mysql porque yo no tengo la base dedatos para decirle exactamente que es pero debe ser una bobadita
  #14 (permalink)  
Antiguo 16/07/2009, 02:52
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Comparar tablas para cargar datos en Combobox

Hola nuevamente, he comprobado los nombres de las tablas y de los campos y son los mismos.

Seguro que es alguna chorrada.

Seguire buscando el problema y la solución.

Muchas gracias.
  #15 (permalink)  
Antiguo 16/07/2009, 07:00
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 7 meses
Puntos: 18
Respuesta: Comparar tablas para cargar datos en Combobox

Prueba con
Código SQL:
Ver original
  1. SELECT
  2. provincias.*
  3. FROM
  4. inmuebles
  5. INNER JOIN municipios ON inmuebles.id_municipio = municipios.idmunicipio
  6. INNER JOIN provincias ON municipios.id_provincia = provincias.idprovincia

y

Código SQL:
Ver original
  1. SELECT
  2. municipios.*
  3. FROM
  4. inmuebles
  5. INNER JOIN municipios ON inmuebles.id_municipio = municipios.idmunicipio
  6. INNER JOIN provincias ON municipios.id_provincia = provincias.idprovincia

teniendo en cuenta que el campo que une al inmueble con municipio y provincia es el ID_MUNICIPIO
  #16 (permalink)  
Antiguo 19/07/2009, 04:17
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Comparar tablas para cargar datos en Combobox

Hola TRasgukabi gracias por la respuesta.

He estado intentando poner el código que me has facilitado y despues de resolver varios errores con los nombres de los campos he conseguido que se abra la página sin errores pero nada más.

Los combobox me aparecen en blanco sin datos.

este es el código que tengo en estos momentos y es el que me abre los combobox con todos los datos.

Código PHP:
mysql_select_db($database_Tuvivienda$Tuvivienda);
$query_provincia "SELECT provincia FROM provincias ORDER BY provincia ASC";
$provincia mysql_query($query_provincia$Tuvivienda) or die(mysql_error());
$row_provincia mysql_fetch_assoc($provincia);
$totalRows_provincia mysql_num_rows($provincia);

mysql_select_db($database_Tuvivienda$Tuvivienda);
$query_municipio "SELECT municipio FROM municipios ORDER BY municipio ASC";
$municipio mysql_query($query_municipio$Tuvivienda) or die(mysql_error());
$row_municipio mysql_fetch_assoc($municipio);
$totalRows_municipio mysql_num_rows($municipio); 
Me podrías decir como puedo juntar tu código a este para solucionar el problema?

Muchas gracias.
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:21.