%# -*- mmm-classes: mason -*- <Head><Title>View latest news</Title></Head> <Body> <H1>View latest news</H1> <Form method="POST" action="view-stories.html"> <P>From which category would you like to view news?</P> <select name="category_id"> % foreach my $category (@categories) { <option value="<% $category->{id} %>"> <% $category->{name} %> % } </select> <P>And how many items would you like to see? <input type="text" name="how_many" size="2" maxlength="2"></P> <input type="submit" value="View stories"> </Form> </P> </Body> <%once> my $dbh; </%once> <%init> # Connect to the database, if we haven't # already done so $dbh = $m->comp("database-connect.comp"); # Get the list of categories my $sql = "SELECT category_id, category_name "; $sql .= "FROM Categories "; $sql .= "ORDER BY category_name "; my $sth = $dbh->prepare($sql); $sth->execute; my $row_ref; my @categories; # Put the list of categories into @categories while ($row_ref = $sth->fetchrow_arrayref) { my ($id, $name) = @$row_ref; push @categories, {id => $id, name => $name}; } </%init>