Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Enlazar dos tablas

Estas en el tema de Enlazar dos tablas en el foro de PHP en Foros del Web. En mi base de datos tengo 2 tablas: municipios y provincias . La tabla municipios contiene los campos: id_municipio , municipio , id_provincia . La ...
  #1 (permalink)  
Antiguo 02/12/2013, 04:15
iakrod
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Enlazar dos tablas

En mi base de datos tengo 2 tablas: municipios y provincias.
La tabla municipios contiene los campos: id_municipio, municipio, id_provincia.
La tabla provincias contiene los campos: id_provincia y provincia.
Las tablas están relacionadas entre sí por los campos id_provincia.

Lo que he intentado, sin éxito, es listar todos los registros del campo municipio apareciendo al lado de cada uno de ellos su correspondiente provincia.

El error que me aparece es:
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\prueba\prueba.php on line 23

¿Qué hago mal?

Código PHP:
Ver original
  1. <?php require_once('connections/prueba.php'); ?>
  2. <?php
  3. mysql_select_db($database_prueba, $prueba);
  4. $query_municipios = "SELECT concat(municipios.municipio,' (',provincias.provincia,')') FROM provincias, municipios WHERE municipios.id_provincia = provincias.id_provincia";
  5. $municipios = mysql_query($query_municipios, $prueba) or die(mysql_error());
  6. $row_municipios = mysql_fetch_assoc($municipios);
  7. ?>
  8.  
  9. <html>
  10. <head>
  11. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  12. <title>municipios</title>
  13. </head>
  14.  
  15. <body>
  16. <?php
  17. do {
  18. echo $row_municipios['query_municipios'];
  19. while ($row_municipios = mysql_fetch_assoc($municipios));
  20. ?>
  21. </body>
  22. </html>
  23. <?php mysql_free_result($municipios); ?>
  #2 (permalink)  
Antiguo 02/12/2013, 07:41
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Enlazar dos tablas

Has olvidado la estructura básica de un do-while , te falta cerrar la llave del do-while

Código PHP:
Ver original
  1. do {
  2.     echo $row_municipios['query_municipios'];
  3. } while ($row_municipios = mysql_fetch_assoc($municipios));

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 02/12/2013, 08:02
iakrod
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Enlazar dos tablas

Ops gracias jonni

Ahora que he añadido la llave que cierra el do-while me da el siguiente error:
Notice: Undefined index: query_municipios in C:\xampp\htdocs\prueba\prueba.php on line 18
  #4 (permalink)  
Antiguo 02/12/2013, 08:04
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Enlazar dos tablas

Tu problema es que al contac de tu consulta no añades un alias

Hazlo asi:

Código MySQL:
Ver original
  1. SELECT CONCAT(municipios.municipio,' (',provincias.provincia,')') query_municipios FROM provincias, municipios WHERE municipios.id_provincia = provincias.id_provincia

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 02/12/2013, 08:08
iakrod
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Enlazar dos tablas

Es verdad, vaya dos errores he tenido. Muchas gracias por tu ayuda jonni.

Etiquetas: enlazar, html, mysql, registro, select, sql, tabla, tablas
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 18:33.