Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] variables de 2 tablas en una consulta

Estas en el tema de variables de 2 tablas en una consulta en el foro de PHP en Foros del Web. Buenos dias compañeros a ver si me podeis echar un cable que me estoy volviendo loco tengo una consulta de 2 tablas relacionadas por un ...
  #1 (permalink)  
Antiguo 17/11/2014, 04:01
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
variables de 2 tablas en una consulta

Buenos dias compañeros
a ver si me podeis echar un cable que me estoy volviendo loco

tengo una consulta de 2 tablas relacionadas por un campo
la consulta esta bien puesto que funciona a la perfeccion el problema es a la hora de recojer el resultado, puesto que ambas tablas tienen un campo con el mismo nombre "name"
pongo el codigo para que lo entendais mejor
Código PHP:
$sqlmysql_query("
SELECT * FROM  wp_symposium_gallery G, wp_symposium_gallery_items F  
WHERE F.gid= G.gid 
AND (G.sharing='everyone' OR G.sharing='public') AND F.gid<>'' ORDER BY RAND() LIMIT 1"
);
while(
$datos mysql_fetch_array($sql))
{
$galeria=$datos[gid];
$idpropietario=$datos[owner];
$idfoto=$datos[iid];
$foto=$datos[name];
$name_galeria=$datos[name];

Como veis las 2 ultimas variables hacen mencion a $datos[name], pero resulta que cada una es de una tabla distinta
estoy buscando y buscando soluciones pero no encuentro nada
PD
no puedo cambiar el nombre del campo de alguna tabla para diferenciarlas, por que es un añadido a Wordpress
gracias
  #2 (permalink)  
Antiguo 17/11/2014, 04:55
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: variables de 2 tablas en una consulta

L apractica de usar * la ahorrarse de escribir la lista de campos no es muy buena:

1.- Por que se tiende a traer mas campos de los necesarios.
2.- Por que si hay un cambio en la estructura de la tabla apareceran o des apareceran campos sin que la query emita ningun error.
3.- Por que no puedes poner alias a campos con nombres conflictivos.

Código MySQL:
Ver original
  1. Select G.name nameG, F.name nameF
  2. FROM  wp_symposium_gallery G, wp_symposium_gallery_items F  
  3. WHERE F.gid= G.gid
  4. AND (G.sharing='everyone' OR G.sharing='public') AND F.gid<>'' ORDER BY RAND() LIMIT 1;

Ahora completa la lista de campos....

Ya tienes nameG y nameF dos campos con nombres distintos.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 17/11/2014, 10:01
 
Fecha de Ingreso: abril-2008
Mensajes: 72
Antigüedad: 16 años
Puntos: 0
Respuesta: variables de 2 tablas en una consulta

hosti.................. tu
que sencillo, la verdad es que siempre utilice el asterisco en lugar de lista de campos nunca tube problemas hasta hoy claro, y tiene mucha logica lo que dices, el uso masivo de * en las consultas puede probocar lentitud sobretodo cuando hay enlazadas varias consultas
pa que leer datos que no se van a hacer servir
a partir de ahora intentare cambiar mis costumbres

gracias por la respuesta quimfv
saludos
  #4 (permalink)  
Antiguo 18/11/2014, 05:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: variables de 2 tablas en una consulta

hosti.................. tu
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: mysql, select, sql, tabla, tablas, variable, variables
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 06:06.