%# -*- mmm-classes: mason -*- <%perl> # Connect to the database, if we haven't # already done so $dbh = $m->comp("database-connect.comp"); # Get the news items in this category my $sql = "SELECT headline, body, posting_date "; $sql .= "FROM Articles "; $sql .= "WHERE category_id = ? "; $sql .= "ORDER BY posting_date DESC "; $sql .= "LIMIT $how_many "; my $sth = $dbh->prepare($sql) || die "Error: $DBI::errstr"; $sth->execute($category_id) || die "Error: $DBI::errstr"; my @articles; my $row_ref; # Put the list of articles into @articles while ($row_ref = $sth->fetchrow_arrayref) { my ($headline, $body, $posting_date) = @$row_ref; push @articles, {headline => $headline, body => $body, posting_date => $posting_date}; } return @articles; </%perl> <%once> my $dbh; </%once> <%args> $category_id $how_many => 5 </%args>