Re: multiple fields from SQL query --Update

Todd Freeman <[email protected]> Thu, 24 May 2012 14:39:17 -0400
Newsgroups gmane.comp.lang.perl.modules.template-toolkit
Message-ID <[email protected]>
You are correct...  try fetchrow_arrayref and you should get what you 
are expecting


On 05/24/2012 02:14 PM, Mark Haney wrote:
> On 05/24/2012 10:52 AM, Mark Haney wrote:
>> I've got a query in my perl code to pull 2 fields from a database
>> (abbreviation, factory_id), one of which is used to populate a dropdown
>> box (abbreviation). However, I will need to pass /both/ fields to the
>> CGI script that I'm calling from the form that has the dropdown box. How
>> do I do that? Here's what I have so far:
>>
>> shift_rpt.pl:
>>
>> my $sql = qq/SELECT factory_id, abbreviation from factory/;
>> my $sth = $dbh->prepare($sql);
>> $sth->execute();
>>
>>
>> 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.
>
>
>


-- 
Todd Freeman  Ext 6103                   .^.    Don't fear the penguins!
Programming Department                   /V\
Andrews University                      // \\    http://www.linux.org/
http://www.andrews.edu/~freeman/       /(   )\   http://www.debian.org/
                                         ^^ ^^