Hello Monks,
I am rewriting a web form, because the old form hard coded *everything*, and I am trying to make it a bit more dynamic and flexible. The form allows folks to update stuff stored in an AoA called @champarray in the code below. I have it dynamically generating a table with all the items, but I want to make it break the rows up, so that there are not more than five tds per tr (so that the page does not get absurdly wide), somehow nothing reasonable is entering my mind when I think about this, and I think I must be missing an obvious solution. I created a $rownum var that determined how many rows to subdivide in, but then did not really know what to do with it. The code below is a little funny looking since I am still in the middle of thinking about this. In the context of this code, what is the best way to iterate by fives to fill the rows? Any other constructive criticism would also be appreciated.
The relevant chunk:
my $productcount = 0;#index of which product we are using
print $q->table({-border=>1});
foreach (@champarray){# go through each item.
my @rows;
my @tmp_row_items = $q->p($champarray[$productcount][0]);#item 0 i
+n array is the name of our item
my $itemnum = $#{$champarray[$productcount]};
my $rownum = ceil($itemnum / 5);#ceil is POSIX round up function
for my $i (1 .. $itemnum){
push (@tmp_row_items, $q->td($q->textfield( -name => "$champar
+ray[$productcount][0]$i", -default => "$champarray[$productcount][$i]
+", -size => 25)));
}
push (@rows, $q->td(@tmp_row_items));
print $q->Tr(\@rows);
$productcount++;
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|