Hola pikomule,
Lo que haces es básicamente un for:
Código PHP:
$total = 5;
for( $i = 0; $i < $total; $i++ ) {
echo "<input type=\"text\" name=\"caja[$i]\" value=\"\" /><br />";
}
Desde un select puedes manipular el valor de $total, enviándolo a la página, después ya cuando envían el formulario caja se va a convertir en un arreglo y puedes ciclarlo:
Código PHP:
foreach( $_POST['caja'] as $dato ) {
echo "$dato<br />";
}
Saludos.