Gossamer Forum
Home : Products : Gossamer Links : Development, Plugins and Globals :

Re: [Andy] Global: List where the users come from?

Quote Reply
Re: [Andy] Global: List where the users come from? In reply to
Andy wrote:
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)

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>

Hi Andy,
this global works fine, but I have some wrong entries in my database.
The global prints out this wrong user entries.
So I have users with the age of 108 and 3, 4 and 5 ;-)

Is there a way to print out only entries between the age of 18 and 80 ? to prevent wrong outputs?

Thanks
Matthias

Matthias
gpaed.de
Subject Author Views Date
Thread; hot thread Global: List where the users come from? Matthias70 7811 Dec 23, 2007, 2:54 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7675 Dec 23, 2007, 3:23 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7661 Dec 23, 2007, 3:39 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7675 Dec 23, 2007, 3:47 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7716 Dec 23, 2007, 3:52 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7698 Dec 23, 2007, 3:58 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7709 Dec 23, 2007, 4:03 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7643 Dec 23, 2007, 4:05 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7778 Dec 23, 2007, 4:09 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7700 Dec 23, 2007, 4:14 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7701 Dec 23, 2007, 4:18 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7687 Dec 23, 2007, 4:19 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7667 Dec 23, 2007, 10:57 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Matthias70 7696 Dec 25, 2007, 12:33 PM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7655 Dec 26, 2007, 12:40 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7575 Dec 29, 2007, 12:14 PM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7594 Dec 29, 2007, 12:33 PM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7611 Dec 31, 2007, 6:25 AM
Post; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7568 Dec 31, 2007, 6:30 AM
Thread; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7556 Mar 23, 2008, 6:57 AM
Thread; hot thread Re: [Matthias70] Global: List where the users come from?
Andy 7538 Mar 23, 2008, 7:30 AM
Post; hot thread Re: [Andy] Global: List where the users come from?
Matthias70 7569 Mar 23, 2008, 8:37 AM