Foros del Web » Programando para Internet » PHP »

Mostrar campos de la BD con el mismo nombre

Estas en el tema de Mostrar campos de la BD con el mismo nombre en el foro de PHP en Foros del Web. Hola amigos como estais, Vereis tengo dos tablas separados la cosa es que las dos tienen un campo que se llama descripcion y no puedo ...
  #1 (permalink)  
Antiguo 09/04/2013, 05:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Mostrar campos de la BD con el mismo nombre

Hola amigos como estais,


Vereis tengo dos tablas separados la cosa es que las dos tienen un campo que se llama descripcion y no puedo cambiarles el nombre, el problema es que al mostrar los datos en el bucle como las dos se llaman igual solo me muestra una.

A ver si alguien sabe como podria solucionar esto.

Un saludo
  #2 (permalink)  
Antiguo 09/04/2013, 06:06
 
Fecha de Ingreso: noviembre-2011
Mensajes: 117
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Mostrar campos de la BD con el mismo nombre

ponle alias en la consulta a uno de los dos campos
  #3 (permalink)  
Antiguo 09/04/2013, 06:07
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: Mostrar campos de la BD con el mismo nombre

Hay algo en SQL llamado alias as

Select campo as otronombre from tabla

Después en PHP

$r['otronombre'];

Saludos
  #4 (permalink)  
Antiguo 09/04/2013, 08:07
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Mostrar campos de la BD con el mismo nombre

Muchas gracias amigos por su atencion.

Un saludo
  #5 (permalink)  
Antiguo 09/04/2013, 09:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Mostrar campos de la BD con el mismo nombre

Nota: La cláusula AS es totalemnte obsoleta.
Puedes perfectamente poner:

Código SQL:
Ver original
  1. SELECT campo otronombre
  2. FROM tabla
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 09/04/2013, 13:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Mostrar campos de la BD con el mismo nombre

Hola amigos,

Vereis la consulta en cuestion es esta:

Select * from empresas_direcciones e INNER JOIN provincias p ON e.id_provincias = p.id INNER JOIN municipios m ON m.id = e.id_municipios WHERE id_empresas = '.$_SESSION['id']

El campo que esta repetido se llama descripcion y las dos tablas en el que esta repetido son provincias y municipios.

La verdad no soy experto en sql y no sabria como modificarla, si fuese la primera tabla empresas_direcciones si, iria enumerando todos los campos y cuando llegase al "descripcion" le dario otro nombre pero estando como INNER JOIN no tengo idea, a ver si alguien sabe como podria modificar esto.

Un saludo y denuevo gracias amigos
  #7 (permalink)  
Antiguo 09/04/2013, 13:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Mostrar campos de la BD con el mismo nombre

Cita:
El campo que esta repetido se llama descripcion y las dos tablas en el que esta repetido son provincias y municipios.
En ese caso no puedes usar "*", tienes que forzosamente indicar uno a uno los campos.
Por ejemplo:
Código MySQL:
Ver original
  1. Select e.id_empresas,  p.id, e.id_municipios
  2. from empresas_direcciones e INNER JOIN provincias p ON e.id_provincias = p.id
  3. INNER JOIN municipios m ON m.id = e.id_municipios
  4. WHERE e.id_empresas = '.$_SESSION['id']
No pongo los campos que mencionas porque no conozco los nombres que usas en cada tabla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 10/04/2013, 05:52
 
Fecha de Ingreso: noviembre-2011
Mensajes: 117
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Mostrar campos de la BD con el mismo nombre

De todas formas te aconsejo que no uses select *, en el 99% de los casos vas a obtener más campos de los que necesitas y además tardará más, yo acostumbro a usar alias siempre que tengo join de modo que es más fácil identificar los campos y a parte si en un futuro tienes que añadir más campos o más join lo tienes más facil si se repiten nombres de campos ;)
  #9 (permalink)  
Antiguo 10/04/2013, 06:02
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Mostrar campos de la BD con el mismo nombre

Muchas gracias gnzsoloyo,

Lo he probado y va estupendo gracias de nuevo

Etiquetas: bd, campos, nombre, tabla
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 08:34.