Hola amigo, si que estas haciendo algo un poco complejo
después de leer, leer, leer y releer tu resultado con el resultado deseado, ya me di una idea de la forma como tienes tus tablas
en fin, antes de empezar, voy a dejar indicado como están tus tablas y como se relacionan para que la explicación sea mas facil
(o al menos pueda entender mejor lo que estoy escribiendo antes de postearlo
)
Bueno, tu tienes 3 tabalas (les pondre un nombre, puede que tu les pongas otro, pero lo dejo asi para ejemplificar
)
Areas(
id, Nombre);
Calendario (
id_Area,
Fecha);
Evento(
ID,
id_Area,
Fecha, Hora_Inicio, Hora_Fin, Lugar, Area, Tema, Disertante, Institución );
asi ya esta un poco mas claro, ya se que la tabla áreas se relaciona con la tabla calendario y que la tabla evento se relaciona con ambas.
suponiendo que tienes asi tus tablas, yo haría 3 consultas por separado y con dependencia una dentro de la otra.
no estoy muy familiarizado con la forma como lo programaste, pero lo intentare hasta donde mis conocimientos y mi capacidad para interpretar lo que dice en la documentacion de "php.net" me lo permita, yo lo resolvería de la siguiente forma:
Código PHP:
$consulta1 = "SELECT * FROM Area";
$resultado1 = $mysqli->query($consulta1);
while ($fila1= $resultado1->fetch_array(MYSQLI_ASSOC)) {
//asignamos los valores a unas variables//
$ID_Area = $fila1['id'];
$Nombre_Area = $fila1['Nombre'];
//Mostramos los datos de la 1er consulta//
echo $ID_Area;
echo "<br>";
echo $Nombre_Area;
echo "<br>";
//Hacemos una 2da consulta, aplicando un where//
$consulta2 = "SELECT * FROM CalendarioWHERE id_Area =".{'$ID_Area'};
//Observa que usamos la variable $ID_Area que mostramos con el 'echo'//
$resultado2 = $mysqli->query($consulta2);
//hacemos un 2do while//
while ($fila2= $resultado2->fetch_array(MYSQLI_ASSOC)) {
//asignamos los valores a unas variables//
$Fecha = $fila2['Fecha'];
//Mostramos los datos de la 2da consulta//
echo " ".$Fecha;
echo "<br>";
//Hacemos una 3ra consulta, aplicando un where//
$consulta3 = "SELECT * FROM Evento WHERE id_Area =".{'$ID_Area'}."AND Fecha =".{'$Fecha'};
//Observa que usamos la variable $ID_Area y $Fecha que mostramos con el 'echo'//
$resultado3 = $mysqli->query($consulta3);
//hacemos un 3er while//
while ($fila3= $resultado3->fetch_array(MYSQLI_ASSOC)) {
//asignamos los valores a unas variables//
$FechaF = $fila3['Fecha'];
$Hora_Inicio = $fila3['Hora_Inicio'];
$Hora_Fin = $fila3['Hora_Fin'];
$Lugar = $fila3['Lugar'];
$Area = $fila3['Area'];
$Tema = $fila3['Tema'];
$Disertante = $fila3['Disertante'];
$Institución = $fila3['Institución '];
//Mostramos los resultados//
echo" ".$FechaF;
echo "<br>";
echo" ".$Hora_Inicio ;
echo "<br>";
echo" ".$Hora_Fin ;
echo "<br>";
echo" ". $Lugar;
echo "<br>";
echo" ". $Area;
echo "<br>";
echo" ".$Tema;
echo "<br>";
echo" ".$Disertante;
echo "<br>";
echo" ".$Institución;
echo "<br>";
}//Fin del 3er ciclo while//
}//Fin del 2do ciclo while//
}//Fin del 1er ciclo while//
Con eso deberías tener el resultado deseado, espero que te sirva amigo, cualquier duda, comenta