Patty,<br><br>você só precisa preencher o hash com zeros se for acessá-lo diretamente. agora se você quiser, pode fazer uma função/método simples que encapsula esse hash, algo do tipo:<br><br>sub count_by_month {<br> my ($year,$month) = @_;<br>
<br> my $key = sprintf("$ano%02d", $mes);<br> return 0 if not exists $elementos{$key};<br><br> return $elementos{$key};<br>}<br><br>daí quando quiser um número é só chamar count_by_month( 2000, 05 ) que ele te retorna o valor (preenchido pelo seu loop do database, normal), ou zero caso não haja nada lá.<br>
<br>[]s,<br>Russo<br><br><div class="gmail_quote">2009/9/23 Giuliani Deon Sanches <span dir="ltr"><<a href="mailto:giulianisanches@gmail.com">giulianisanches@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/9/23 Patty Silva <<a href="mailto:ptfzs@yahoo.com.br">ptfzs@yahoo.com.br</a>>:<br>
<div><div></div><div class="h5">> Pessoal;;<br>
> Um jeito mais simples e pratico!! :) Usando Hash..<br>
><br>
> my @anos=qw(1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007<br>
> 2008 2009);<br>
><br>
> foreach my $ano(@anos)<br>
> {<br>
> foreach my $mes(1..12)<br>
> {<br>
> $mes = substr("0".$mes,-2,2);<br>
> my $d=$ano.$mes;<br>
> $elements{$d} = 0;<br>
> }<br>
> }<br>
><br>
> while(($data, $cont) = $sth->fetchrow_array)<br>
> {<br>
> $elements{$data} = $cont;<br>
><br>
> }<br>
><br>
><br>
> Ok??????? :)<br>
><br>
> Obrigada<br>
><br>
> ________________________________<br>
> De: Wendel Scardua <<a href="mailto:wendelscardua@gmail.com">wendelscardua@gmail.com</a>><br>
> Para: Cascavel Perl Mongers <<a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a>><br>
> Enviadas: Terça-feira, 22 de Setembro de 2009 20:53:13<br>
> Assunto: Re: [Cascavel-pm] Res: Res: Dúvida - gerar gráfico - Campo Vazio<br>
><br>
> 2009/9/22 jimmy <<a href="mailto:jimmy.tty@gmail.com">jimmy.tty@gmail.com</a>><br>
>><br>
>> talvez fosse necessário gerar apenas o intervalo de meses de janeiro<br>
>> ou de um mês pré determinado até agora.<br>
>><br>
>> 200901, 200902, 200903,<br>
>> 200904, 200905, 200906,<br>
>> 200907, 200908, 200909<br>
>><br>
>> e fazer o select count por eles ao invés do que está na tabela.<br>
>><br>
><br>
> Sim, isso seria uma solução. Não descrevi a solução, descrevi qual devia ser<br>
> o problema que ela apresentou - e como o select que ela quer não deve sair<br>
> tão fácil assim (se é que dá pra fazer, pelo menos sem pog), sendo mais<br>
> fácil fazer por fora a parte de definir as datas. Como ela mesmo disse ter<br>
> feito depois, usando hash.<br>
><br>
><br>
> ________________________________<br>
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -<br>
> Celebridades - Música - Esportes<br>
</div></div><div class="im">> _______________________________________________<br>
> Cascavel-pm mailing list<br>
> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
><br>
<br>
<br>
</div>A parte de anos ficaria um pouco mais simples assim:<br>
<br>
<code><br>
my %elements;<br>
<br>
foreach my $ano (1995..2009) {<br>
<div class="im"> foreach my $mes (1..12) {<br>
</div> $elements{sprintf("$ano%02d", $mes)} = 0;<br>
}<br>
}<br>
</code><br>
<div class="im"><br>
--<br>
<a href="http://twitter.com/giulianisanches" target="_blank">twitter.com/giulianisanches</a><br>
<a href="http://giulianisanches.blogspot.com" target="_blank">giulianisanches.blogspot.com</a><br>
_______________________________________________<br>
</div><div><div></div><div class="h5">Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Alexei Znamensky [russoz_gmail_com] [<a href="http://russoz.wordpress.com">russoz.wordpress.com</a>] [<a href="http://www.flickr.com/photos/alexeiz">www.flickr.com/photos/alexeiz</a>]<br>
"Though we live in trying times, we're the ones who have to try"<br>