Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/09/2014, 01:17
juangemelo01
 
Fecha de Ingreso: marzo-2011
Ubicación: Oaxaca
Mensajes: 252
Antigüedad: 13 años, 9 meses
Puntos: 17
Respuesta: Ordenar array por claves (iguales) y combinarlos en el mismo PHP

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

Última edición por juangemelo01; 21/09/2014 a las 01:41