Puneet Kishor wrote
>
> since there are more than three ways to do it, I am actually going to
> dissent here. Personally, I don't like CGI.pm. I think it weighs a lot,
> and most of the time I use it (and I do), it mainly to extract the
> params. I am stuck with it in a recent project because I am using
> CGI::Session, and I am not sure if that will work with CGI::Simple (can
> anyone tell me if it will and how?).
There has been some recent discussion on the CGI::Application list of just
this issue. It seems that CGI::Session does a pretty strict test to make sure
that it has a CGI.pm object and not just a compatible object. I think some
work is underway to change this so that it does some tests for the param() and
cookie() methods. So, not right now, but maybe not too much later.
> > Except that you have now tied your SQL statement directly to HTML
> > syntax; in which case... what is the point of using H::T -> you could
> > generate HTML output faster if you created an SQL statement which
> > generated HTML directly.
> >
> > The purpose of H::T is to decopule the data from the presentation.
how about something like this that decouples the SQL from the HTML but is
still relatively simple (and uses XHTML instead of HTML )
in perl
.
.
my $sth = $dbi->prepare(qq(SELECT val, text, (val = "$selected") AS selected
FROM whatever WHERE whatever));
my $tmpl = HTML::Template->new();
$tmpl->param(occupations => $sth->fetchall_arrayref( {} );
in the tmpl (for a dropdown select box)
.
.
<select name='whatever'>
<TMPL_LOOP NAME=OCCUPATION_LOOP>
<option value="<TMPL_VAR NAME=VAL>" <TMPL_IF
NAME="SELECTED">selected='selected'</TMPL_IF>><TMPL_VAR NAME=TEXT></option>
</TMPL_LOOP>
</select>
or in the tmpl for a group of checkboxes, (or radio buttons)
.
.
<TMPL_LOOP NAME=OCCUPATION_LOOP>
<input type='checkbox' value="<TMPL_VAR NAME=VAL>" name='whatever' <TMPL_IF
NAME="SELECTED">checked='checked'</TMPL_IF> /><TMPL_VAR NAME=TEXT><br />
</TMPL_LOOP>
this way the same SQL creates a structure that is independent of the HTML but
still not so much so that it's hard to work with.
Michael Peters
Venzia
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
Html-template-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/html-template-users