Buenas,
El problema de tu código es de concepto. Tú piensas que el usuario elije la empresa y luego se ejecuta tu código y se le asigna el valor a las variables. Eso es imposible, ya que PHP es un lenguaje que se ejecuta en el servidor, no en el cliente. Es decir, para que se ejecute el código el usuario tiene que hacer una petición (por ejemplo, pulsando submit).
Tienes que poner el primer select en un form que tenga action a la misma página en la que estás y método POST. El otro formulario puede ser cómo quieras. Cuando el usuario elija el primer select y pusle enviar, se enviará el primer formulario y tendrás que tratar los datos (que te vendrán en la variable $_POST). Sería algo así:
pagina.php:
Código PHP:
Ver original<form action="pagina.php" method="POST">
// Aquí el código del select que tienes
<input type="submit">
</form>
<?php
if (isset($_POST['empresa'])) { // Hacer consulta a la base de datos y extraer los datos de la empresa.
}
?>
<form ...> // El segundo form tal y como lo tienes.
// Aquí mostrar los campos con el atributo value.
</form>
Espero haberte aclarado las dudas, sobre todo de concepto. Es más importante conocer la dinámica de cómo funciona esto.
Un saludo.