[ic] Array from database
Mike Heins
mikeh@minivend.com
Tue, 19 Dec 2000 13:19:31 -0500
Quoting Mike Heins (mikeh@minivend.com):
> Quoting Kaare Rasmussen (kar@webline.dk):
> > I'd like to fill an array with the values of my order lines. After messing
> > around for some time, I'm in doubt.
> >
> > Seems to be best to do in perl. But all options seem a bit flawed, so which
> > is best?
> > - $tag->data can only handle one row (??)
> > - %db may be better, but the key has to be named "code" (??)
> > - %sql gives you all the power, but is more complex.
> > - More?
>
> Why do you say that $Db{table} is not it?
>
> [perl tables=products]
> my $db = $Db{products}
> or return "NO products?";
> my $q = "select foo, bar from products where buz = 'baz'";
> my $ary = $db->query($q)
> or die "query failed";
To follow up, I forgot to mention that this will only work when you
have a SQL table (and a SQL products table). That is why when you see
similar stuff in the demo it is like:
[query arrayref=foo sql="select foo, bar from products where buz = 'baz'"]
[/query]
[perl tables=products]
my $ary = $Tmp->{foo};
# After that it is the same, except no name hash or array
foreach $row (@$ary) { .... }
[/perl]
That is because you cannot call SQL::Statement without creating
objects at time of query parse. Safe doesn't like that.
--
Akopia, Inc., 131 Willow Lane, Floor 2, Oxford, OH 45056
phone +1.513.523.7621 fax 7501 <heins@akopia.com>
If you like what you're gettin', keep doin' what you're doin'. -- Hector