Foros del Web » Programando para Internet » PHP »

Relacionando tablas

Estas en el tema de Relacionando tablas en el foro de PHP en Foros del Web. Hola buenas. Tengo un ligero problema al relacionar tres tablas y querer mostrar por pantalla, seguro que es una chorrada pero no logro dar con ...
  #1 (permalink)  
Antiguo 21/12/2009, 07:01
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Relacionando tablas

Hola buenas.

Tengo un ligero problema al relacionar tres tablas y querer mostrar por pantalla, seguro que es una chorrada pero no logro dar con el error.

Las tablas son:
- inmuebles
- idprovincia
- idmunicipio

- provincias
- id
- provincia

- municipios
- id
- idprovincia
- idmunicipio


Lo que pretendo es al listar Inmuebles que me muestre el nombre de la provincia y el del municipio.

Pero no consigo relacionar ni dos tablas siquiera les dejo el $sql que tengo montado.

Código PHP:
$sql="select idmunicipio, provincia from inmuebles innet join provincias on provincia=idprovincia"
desde la consola sql me dice lo siguiente:
MySQL ha devuelto un valor vacío (i.e., cero columnas). ( La consulta tardó 0.0004 seg )

Alguna idea de donde tengo el error?

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 21/12/2009, 07:19
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Relacionando tablas

Código PHP:
 $sql="select idmunicipio, provincia from inmuebles inner join provincias on provincias.provincia=inmuebles.idprovincia"
Habias puesto innet en vez de inner, yo no uso joins pero bueno quizas eso funcione, de todos modos no entiendo el contenido de las tablas, podes ser mas especifico?

Saludos.
  #3 (permalink)  
Antiguo 21/12/2009, 07:38
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Relacionando tablas

Hola Mario, gracias por la respuesta

Fallo mio, ya he cambiado el innet por el inner pero el resultado sigue siendo el mismo.

Dejo el resto de la consulta por si acaso el fallo esta en otro sitio

Código PHP:
$sql="select idmunicipio, provincia from inmuebles inner join provincias on provincia=idprovincia";
$r=mysql_query($sql$link);

while (
$fila=mysql_fetch_assoc($r)){

echo 
$fila["idmunicipio"].' - ' .$fila['provincia'];
echo 
"<br />";


  #4 (permalink)  
Antiguo 21/12/2009, 07:42
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Relacionando tablas

Es que yo no entiendo como tenes estructurada tus tablas, podrias ser mas exacto al definirlas? Porque parece q tenes 3 tablas pero solo mostras el contenido de 2, sinceramente no entiendi como las dividiste y q columnas tiene cada una.

Me gustaria poder ayudarte.

Saludos.
  #5 (permalink)  
Antiguo 21/12/2009, 08:05
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Relacionando tablas

Hola Mario.

- inmuebles
- idprovincia int(2)
- idmunicipio bigint(11)


- provincias
- id int(2)
- provincia varchar(255)


- municipios
- id bigint(11)
- idprovincia int(2)
- municipio varchar(255)

Las tablas Provincias y Municipios son tablas auxiliares.

Mi idea es que al listar desde inmuebles en vez de mostrarme los números 'id' que se me han guardado me muestre los nombres tanto de la provincia como del municipio, había puesto solo la relacción de dos tablas porque no me funcionaba y me parecio una tontería poner la relación de las tres cuando dos no me funcionan.

idprovincia de inmuebles la relaciono con 'id' de provincias
idmunicipios la relaciono con 'id' municipios

y a parte tambien tienen relacion 'id' de provincias con 'idprovincia' de municipios.

Espero haberte dado todos los datos necesarios.

Muchas gracias.

Fernando.
  #6 (permalink)  
Antiguo 21/12/2009, 08:11
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Relacionando tablas

Proba esto:

Código PHP:
$query "SELECT provincias.provincia, municipios.municipio FROM inmuebles,provincias,municipios WHERE inmuebles.idprovincia=provincias.id AND inmuebles.idmunicipio=municipios.id"
No vi los datos de inmuebles, osea lo q queres mostrar, en ese caso agregalo a la sentencia q te di arriba y agregale la info q quieras. A ver si asi sale!

Saludos.
  #7 (permalink)  
Antiguo 21/12/2009, 08:17
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Relacionando tablas

Muchisimas gracias.

Me funciona correctamente.

Esto de la programación si que es un mundo aparte.

Saludos.

Fernando.
  #8 (permalink)  
Antiguo 21/12/2009, 08:18
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Relacionando tablas

Me alegra haberte ayudado, pasa q yo no uso joins en estos casos, por ahi ahora q ves un ejemplo q funciona podes rediseñarlo y hacerlo a tu manera.

Saludos.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:53.