don't see the error offhand yet, but do have some code comments/suggestions after a qiuck read..
use strict; # use em if use warnings; # you're not already my @loop; # first, prepare the SQL .. this can be more efficient. # BUT more importantly, this also is using placeholders # ALSO note the column aliases .. this makes things more convenient +below. my $sth = $dbh->prepare("SELECT item1 as _first_item, item2 as _seco +nd_item, item3 as _third_item FROM table WHERE topic = ? ORDER BY id +ASC"); # no need for a $y index .. foreach my $topic ( @topic[0 .. $x-1] ){ # just use an array slice +to get the topics $sth->execute( $topic ); # passing a value to the placeholder push @loop, { _TOPIC => $topic, _ITEMS => $sth->fetchall_arrayref({}), # use a DBI function to + get the AoH of items }; } $html->param(_TOPICS => \@loop); $html->output;
Hopefully clearing up the code i little w/some of those suggestions will make the bug more apparent ..

Can you also post the template source that your code is using?


update: can further simplify to a map statment:
my $sth = $dbh->prepare("SELECT item1 as _first_item, item2 as _seco +nd_item, item3 as _third_item FROM table WHERE topic = ? ORDER BY id +ASC"); my @loop = map { $sth->execute( $_ ); { _TOPIC => $_, _ITEMS => $sth->fetchall_arrayref({}) }; } @topic[0 .. $x-1];

In reply to Re: CGI Coding Problem on Subloop by davidrw
in thread CGI Coding Problem on Subloop by soon_j

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.