On 5/24/2012 8:14 PM, Mark Haney wrote:
On 05/24/2012 10:52 AM, Mark Haney wrote:

my $row_factory;
my @rows_factory;
while ($row_factory = $sth->fetchrow_array)
{
push @rows_factory, $row_factory; # This moves each row into the array
@rows
}
$sth->finish();


I've had a couple of good suggestions on how to handle this, but I'm obviously missing something. In the WHILE loop above, I'm not getting both fields from the query. I.e. I'm getting the last element of the query (abbrev) pushed into the array @rows_factory but not the factory_id. I'm guessing it's due to the fact that I'm fetching the row into a scalar ($row_factory) and not an array. Correct?

I just can't seem to get the logic of this straight in my head. Maybe I'm over-complicating things because of the toolkit. Seems to me like the toolkit is sitting there complicating my thought process when it really shouldn't.

Hi Mark,

I am not sure I understand exactly what you are trying to achieve, but I think you are right about putting it into a scalar.

As an example, how does this work for you :

my @rows_factory;
while ( my @factory_data = $sth->fetchrow_array() )
{
push @rows_factory, {'id' => $factory_data[0], 'abbr' => $factory_data[1]};
}

I normally do that when I want to do this in the template :

<select name="factory">
      [% FOREACH factory IN factories %]
<option value="[% factory.id %]" size="20">[% factory.abbr %]</option>
      [% END %]
</select>

Regards,
Theunis

_______________________________________________
templates mailing list
templates@template-toolkit.org
http://mail.template-toolkit.org/mailman/listinfo/templates

Reply via email to