Buenas amigos de solo código.
Estoy haciendo un reporte en PDF y debo arrojar totales por varios niveles de control;
para esto uso varios ciclos Do-While anidados. Cómo es lógico hago una lectura de archivo al principio de todo el proceso para obtener el primer registro y otra en el Do-While más interno (la lectura en con mysql_fectch_array).
Por cada ciclo Do-While necesito verificar si me ha cambiado el correspondiente campo de control y por supuesto si hubo fin de archivo.
Yo intenté poner en cada While una condición múltiple pero aparentemente php no lo permite; mi pregunta es: ¿cómo puedo hacer para que por ejemplo si rompe un nivel de control pero no es fin de archivo que haga lo que yo quiero y vuelva a reiniciar el ciclo.
A continuación les pongo un modelo de lo que estoy diciendo:
if ($Registro = mysql_fetch_array($_SESSION['RegistroConsulta'])):
    $Eof = false;
else:
    $Eof = true;
endif;
Do
{   TotalDepartamento = 0;
     DeptoAnt = DeptoActual;
     Do
     {  TotalSeccion = 0;
         SeccionAnt = SeccionAct;
         Do
         {  Contador++;
             if ($Registro = mysql_fetch_array($_SESSION['RegistroConsulta'])):
                 $Eof = false;
             else:
                 $Eof = true;
             endif;
         }  while (SeccionActual == SeccionAnt ||
                      DeptoActual    == DeptoAnt   ||
                      $Eof               == true);
     }  while (DeptoActual == DeptoAnt ||
                  $Eof            == true)      
}   while  ($Eof  == false)
Mi duda específica es como emular el uso de condiciones múltiples en un while ya que aparentemente php no lo permite.
Espero haberme explicado bién y agradezco cualquier ayuda: