Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2010, 02:09
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿Se puede acceder a un campo de un registro relacionado?

No vas a inventar nada nuevo de hecho eso es la esencia de las bases de datos relacionales... lo que no estoy seguro es si los campos que nos das nos van a servir:

Supongamos que "comentarioUsuario" contiene el identificador del usuario que ha hecho el comentario, y que se corresponde al contenido del campo "usuarioId" de la otra tabla...


Luego si hacemos

Código MySQL:
Ver original
  1. SELECT u.usuarioId,
  2. u.usuarioNombre,
  3. u.usuarioLocalizacion,
  4. c.comentarioId,
  5. c.comentarioUsuario,
  6. c.comentarioTexto
  7. FROM usuarios u INNER JOIN comentarios c
  8. ON u.usuarioId=c.comentarioUsuario;

Con esto obtendremos un registro con los campos de las dos tablas... en otras palabras a cada comentario les correspondera su usuario o a la inversa... (lee sobre las distintas opciones de JOIN ...)

A partir de aquí no tienes que inventar nada:


Código PHP:
Ver original
  1. $instruccion = "SELECT u.usuarioId,".
  2.                        "u.usuarioNombre,".
  3.                        "u.usuarioLocalizacion,".
  4.                        "c.comentarioId,".
  5.                        "c.comentarioUsuario,".
  6.                        "c.comentarioTexto ".
  7.                        "FROM usuarios u INNER JOIN comentarios c ".
  8.                        "ON u.usuarioId=c.comentarioUsuario";
  9. $consulta = mysql_query ($instruccion, $conexion);
  10. $resultado = mysql_fetch_array ($consulta);
  11. echo $resultado['comentarioTexto']."<br/>".
  12.          $resultado['usuarioNombre']." ".
  13.          $resultado['usuarioLocalizacion']."<br/>";

Quim

Última edición por quimfv; 18/05/2010 a las 02:23