I'm coding a fairly simple form which allows users to add and/or edit postings. I'm using HTML::Template, and so far, it's been going great.

Following is an edited version of one of the templates:

<TMPL_LOOP NAME=NEWBODY> <P CLASS="std-title"><STRONG>Date</STRONG>: <TMPL_VAR NAME=node_date>< +BR> STRONG>By</STRONG>: <TMPL_VAR NAME=node_author> <P> <TMPL_VAR NAME=DisplayContent> <FORM ACTION="modify.pl" METHOD="POST"> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1> <TR><TD>Title</TD> <TD><INPUT TYPE="TEXT" SIZE=100 NAME=node_title value="<TMPL_VAR NAME= +node_title>"></TD> </TR> <TR> <TD COLSPAN=2> <TEXTAREA COLS=100 ROWS=20 NAME=node_content><TMPL_VAR NAME=node_conte +nt></TEXTAREA> </TD> </TR> <TR><TD><INPUT TYPE="SUBMIT" NAME=action_name VALUE="<TMPL_VAR NAME=a +ction_name>"></TD></TR> <TD><INPUT TYPE="RESET" VALUE="Reset"></TD> </TR> </TABLE> </FORM> </TMPL_LOOP>

And here is the code that I'm using to populate the template:

my $SQLText = "SELECT node_id, node_title, node_date, node_author, nod +e_section, node_content FROM nodes WHERE $Column like ? ORDER BY node_date, node_title, node_author"; my $sth = $dbh->prepare($SQLText); my $query = $sth->execute($SearchParam); my $errno = $dbh->{'mysql_errno'}; my $error = $dbh->{'mysql_error'}; my $returnArray; push @{$returnArray}, $_ while $_ = $sth->fetchrow_hashref(); my $template = HTML::Template->new(filename => 'templates/mod-node.tmpl'); $template->param( DisplayContent => $DisplayContent, NEWBODY => $returnArray ); print $template->output;

As you can see, I'm using the TMPL_LOOP construct to simplify matters (greatly). However, I now find myself needing to add something like the following:

<select name="Type"> <option>Audit <option>New <option>Update </select>

The option items are variable and will be populated from a database.

Obviously, this can easily be handled with another TMPL_LOOP, but it will have to exist inside the current TMPL_LOOP. Setting up the form is straightforward, but I've run into a mind block as to how I would populate this item.

I'd post code to show my effort to date, but my coding time has mainly been spent reading through docs and staring blankly at the screen. Any assistance is, as always, greatly appreciated.

Thanks!

If things get any worse, I'll have to ask you to stop helping me.


In reply to TMPL_LOOP within a TMPL_LOOP by shockme

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.