Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2013, 02:10
Jennifert
 
Fecha de Ingreso: septiembre-2012
Mensajes: 112
Antigüedad: 11 años, 7 meses
Puntos: 1
foreach anidado

Buenas noches a todos por aquí y disculpen las molestias pero queria aclara y que me puedan orientar haber si estoy haciendo lo correcto, lo que pasa es que estoy haciendo una pequeña web de usuarios, por el momentos solo tengo 3 tablas:
1.usuarios
2.comentarios
3.amigos


Lo que supuesta mente hice es imprimir todos los mensajes que "mis amigos" publican ya sea en su muro o que se yo, lo primero que hago es hacer un join de la tabla usuarios a la de amigos (esto solo para sacar los datos de cada matricula) y muestro el nombre y su matricula pero ojo solo muestro los usuarios que son amigos de la matricula '1101551' después de todos los amigos de esa matricula los recojo en otro foreach para imprimir sus mensajes, espero haberme entendido y por favor agradecería su apoyo de antemano muchísimas gracias.

Mis tablas



Mi codigo php
Código PHP:
<?php

  
require_once( 'classmysqli/class.db.php' );
     
$database = new DB();

     
//Saco la relacion entre las tablas 'usuarios' y 'amigos' para mostrar los datos de cada matricula 
     //Y que sean amigos del usuario que tenga la matricula 1101551
     
$querys "SELECT usuarios.nombre, amigos.amigo"
     
$querys .= " FROM usuarios";
     
$querys .= " JOIN amigos ON usuarios.matricula=amigos.amigo";
     
$querys .= " WHERE amigos.id_matricula=1101551";
     
$usuarios $database->get_results$querys );

     foreach(
$usuarios as $usuario){

         
$querys "SELECT * FROM comentario where id_matricula='$usuario[1]'";
         
$comentarios $database->get_results$querys );

         foreach(
$comentarios as $comentario){
             echo 
$usuario[0].' dijo: '.$comentario[1].'<br>';
         }
    
     }
    
?>

Y me imprime esto:
Código:
Pablo dijo:Esto es un mensaje de prueba.
Pablo dijo: Este es otro mensaje y mi nombre es pablo.
Maria perez dijo: Hola soy maria.

Última edición por Jennifert; 08/04/2013 a las 02:16