Foros del Web » Programando para Internet » PHP »

no recupera el campo de un Join en PHP

Estas en el tema de no recupera el campo de un Join en PHP en el foro de PHP en Foros del Web. Hola a todos, A ver si me podéis echar una mano. Tengo la siguiente consulta: Código PHP: $query = sprintf ( "SELECT * from tabla_A, tabla_B tb_aulas WHERE tabla_A.id=2 AND tabla_A.id=Tabla_B.id); $rset=mysql_query($query,$conexion) or die (mysql_error()); $row_rset_= mysql_fetch_assoc($rset);  Los ...
  #1 (permalink)  
Antiguo 16/10/2007, 11:34
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
no recupera el campo de un Join en PHP

Hola a todos,

A ver si me podéis echar una mano. Tengo la siguiente consulta:

Código PHP:
$query=sprintf("SELECT * from tabla_A, tabla_B tb_aulas WHERE tabla_A.id=2 AND tabla_A.id=Tabla_B.id);

$rset=mysql_query($query,$conexion) or die (mysql_error());

$row_rset_= mysql_fetch_assoc($rset); 
Los datos se guardan correctamente en $rset. Dado que tanto la Tabla A como la Tabla B tienen nombres de campos iguales, para identificar los campos en php hago tabla_A.nombre_del_campo. Así pues la instruccion que uso para recuperar los campos es:

Código PHP:
echo $row_rset_eventos[tabla_A.nombre_del_campo]; 
Lo que pasa es que esta instrucción no devuelve nada.

Es correcto en php esta forma de identificar los campos?

Un saludo.
  #2 (permalink)  
Antiguo 16/10/2007, 11:40
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: no recupera el campo de un Join en PHP

Código PHP:
$query=sprintf("SELECT * from tabla_A, tabla_B, tb_aulas WHERE tabla_A.id=2 AND tabla_A.id=Tabla_B.id); 
Te falta una coma..

Saludos.
__________________
Nuevamente a las pistas ...
  #3 (permalink)  
Antiguo 16/10/2007, 11:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: no recupera el campo de un Join en PHP

Si los campos se llaman igual usa un alias en el campo por decir:
Código:
SELECT tabla1.`campoigual`, tabla2.`campoigual` AS 'campo2' FROM tabla1, tabla2
Saludos.
  #4 (permalink)  
Antiguo 16/10/2007, 11:53
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: no recupera el campo de un Join en PHP

Muchas gracias Jorgedx.

Me he equivocado al escribir código en el foro pero es correta en mi código (he conseguido recuperar campos del $rset). El problema es cuando quiero recuperar campos que tienen el mismo nombre en tablas distintas. Sabes si es correcta la siguiente expresión?:

Código PHP:
echo $row_rset_eventos['tabla_A.nombre_del_campo']; 

Un saludo.
  #5 (permalink)  
Antiguo 16/10/2007, 12:07
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: no recupera el campo de un Join en PHP

Cita:
Iniciado por GatorV Ver Mensaje
Si los campos se llaman igual usa un alias en el campo por decir:
Código:
SELECT tabla1.`campoigual`, tabla2.`campoigual` AS 'campo2' FROM tabla1, tabla2
Saludos.
El tema es que las tablas tienen un montón de campos (por eso uso * en lugar de especificar los campos) y si uso alias tengo que especificar todos los campos, no?

Un saludo.
  #6 (permalink)  
Antiguo 16/10/2007, 12:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: no recupera el campo de un Join en PHP

No necesariamente puedes hacer esto:
Código:
SELECT tabla1.*, tabla2.`campoigual` AS 'campotabla2' FROM ...
Saludos.
  #7 (permalink)  
Antiguo 16/10/2007, 13:19
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: no recupera el campo de un Join en PHP

Hola albertoshu

Claro tu puedes seleccionar los campos especificos que quieras de las tablas que quieras como muy bien te explica Gatorv , puedes seleccionar

tabla1.campo1
tabla2. campo2
tabla3.campo8 etc

todo dentro de un select esto es muy util cuando necesitas por ejemplo buscar una descripcion de un registro que esta en otra tabla.

saludos y exito ...
__________________
Nuevamente a las pistas ...
  #8 (permalink)  
Antiguo 16/10/2007, 14:49
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: no recupera el campo de un Join en PHP

Muhcas gracias a los 2. Así lo haré.

Un problema menos.


Saludos.
  #9 (permalink)  
Antiguo 16/10/2007, 15:06
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: no recupera el campo de un Join en PHP

ok, no dudes en consultar cualquier otra duda,

saludos
__________________
Nuevamente a las pistas ...
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:02.