Bien, lo que tengo es un
array que serían el número de semanas del año ya que lo que estoy haciendo es armar un horario dependiendo de la información introducida por el usuario. Esto ya lo hace.
Lo que necesito es mostrar en la tabla que arme qué rango de fecha le corresponde al número de semana que aparece en la tabla.
Primero tengo esta interfaz que pide la información para armar el formulario:
Using perl Syntax Highlighting
sub i_agregar_horarios_grupos{
my ($currentYear) = $timestamp =~ /^(\d{4})/;
my @semanas = (1..52);
print $q->h3({-align=>'CENTER'},'Planeación de Horarios por Grupo'.'<br>');
print 'Año: '.$q->popup_menu(-name=>'year', -values=>[$currentYear, $currentYear+1]);
print 'Semanas: '.$q->scrolling_list(-name=>'semanas', -values=>\@semanas, -size=>6, -multiple=>1);
print 'Grupo: '.$q->popup_menu(-name=>'grupo', -values=>['','A'..'D','MIXTO']);
print $q->submit(-name=>"||i|agregar_horarios_grupos_2||", -value=>'Continuar >').'<br><br><br>';
}
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Después tengo la segunda interfaz donde armo el formulario con la información que envié en la primera:
Using perl Syntax Highlighting
sub i_agregar_horarios_grupos_2{
if(scalar(@msg) == 0 || join('', @msg) =~ /rror/){
my $year = $q->param('year');
my @semanas = $q->param('semanas');
my $grupo = $q->param('grupo');
my $tabla;
foreach my $semana (@semanas){
my $row = [$year, $semana, $grupo];
push(@$row, '<input type=checkbox name=v_'.$year.'_'.$semana.'_'.$grupo." value=$_>") foreach (0..6);
#~ unshift(@$row, $q->td($fechas));
unshift(@$row, $q->td(&s_get_now)); # En esta parte requiero mostrar el rango de fecha del número de semana que le corresponde
push(@$tabla, $q->td($row));
}
unshift(@$tabla, $q->td([qw(<b>Fechas_semana</b> <b>Año</b> <b>Semana</b> <b>Grupo</b> <b>Do</b> <b>Lu</b> <b>Ma</b> <b>Mi</b> <b>Ju</b> <b>Vi</b> <b>Sa</b>)]));
if(defined $tabla){
print '<br><br>';
print $q->hidden(-name=>'semanas', -value=>\@semanas, -override=>1);
print $q->hidden(-name=>'year', -value=>$year, -override=>1);
print $q->hidden(-name=>'grupo', -value=>$grupo, -override=>1);
print 'Hora de inicio 00:00 : '.$q->textfield(-name=>'hr_inicio', -size=>5).' ';
print 'Duración 00:00 : '.$q->textfield(-name=>'duracion_hrs', -size=>5).' <br><br>';
print $q->table({-border=>1, -cellpadding=>2, -cellspacing=>0}, $q->Tr($tabla)).'<br><br>';
print $q->submit(-name=>"||i|agregar_horarios_grupos_2||a|agregar_horarios_grupos||", -value=>'Agregar');
}
}else{
&i_agregar_horarios_grupos();
}
}
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Y obtengo algo así:
Using text Syntax Highlighting
Año Semana Grupo Do Lu Ma Mi Ju Vi Sa
2013 5 A
2013 6 A
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
y quiero algo así:
Using text Syntax Highlighting
Semana Rango_fecha_semana Grupo Do Lu Ma Mi Ju Vi Sa
5 16/12/13 - 22/12/13 A
6 23/12/13 - 29/12/13 A
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Tengo una subrutina para obtener el número de semana a partir de una fecha pero yo quiero hacer lo contrario.
De antemano, muchas gracias.