HI,
Not quite as simple as that =)
You need something like this: (it WON'T sort by age, I tried - but couldn't get it working)
use GT::SQL;
use lib '/path/to/secure_data/lib';
my $NEWDB = new GT::SQL (
def_path => '/path/to/secure_data/defs',
cache => 0,
debug => 0,
subclass => 0
);
my $db = $NEWDB->table('comm_users');
$db->select_options( "GROUP BY prof_birthday","ORDER BY dob_count DESC");
my $sth = $db->select("prof_birthday", "COUNT(*) as dob_count") or die "Query Error: $GT::SQL::error";
my $current = GT::Date::date_get();
my @current = split /-/, $current; # $current[0]
my $ages;
my $back;
while (my ($s, $c) = $sth->fetchrow_array) {
if ($s !~ /^(19|20)\d\d-/) { next; }
my @date = split /-/, $s; # yyyy-mm-dd
my $age = $current[0] - $date[0]; # age of person looking at
if ($ages->{$age}) { $ages->{$age} += 1; } else { $ages->{$age} = 1;}
}
my @entries;
map {
push @entries, { Age => $_, Count => $ages->{$_} }
} sort keys %$ages;
return { age_loop => \@entries }
}
Then call with:
<ul>
<%loop age_loop%>
<li><%Age%> - <%Count%></li>
<%endloop%>
</ul>
Hopefully thats ok
Cheers
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!
Not quite as simple as that =)
You need something like this: (it WON'T sort by age, I tried - but couldn't get it working)
Code:
sub { use GT::SQL;
use lib '/path/to/secure_data/lib';
my $NEWDB = new GT::SQL (
def_path => '/path/to/secure_data/defs',
cache => 0,
debug => 0,
subclass => 0
);
my $db = $NEWDB->table('comm_users');
$db->select_options( "GROUP BY prof_birthday","ORDER BY dob_count DESC");
my $sth = $db->select("prof_birthday", "COUNT(*) as dob_count") or die "Query Error: $GT::SQL::error";
my $current = GT::Date::date_get();
my @current = split /-/, $current; # $current[0]
my $ages;
my $back;
while (my ($s, $c) = $sth->fetchrow_array) {
if ($s !~ /^(19|20)\d\d-/) { next; }
my @date = split /-/, $s; # yyyy-mm-dd
my $age = $current[0] - $date[0]; # age of person looking at
if ($ages->{$age}) { $ages->{$age} += 1; } else { $ages->{$age} = 1;}
}
my @entries;
map {
push @entries, { Age => $_, Count => $ages->{$_} }
} sort keys %$ages;
return { age_loop => \@entries }
}
Then call with:
Code:
<%global_name%> <ul>
<%loop age_loop%>
<li><%Age%> - <%Count%></li>
<%endloop%>
</ul>
Hopefully thats ok
Cheers
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!