Shawn H. Corey wrote:
On Fri, 2009-07-10 at 15:19 -0600, Scott wrote:
Hello,
I almost have this but cannot figure out why its not showing the data,
right now it knows how many entries im putting in because it spits out
that number of rows.
I am getting my data from dbd::mysql, it works because i have tested in
in a normal test.pl and it prints out the data but not using an array or
hash.
I tried to follow this example:
http://search.cpan.org/~samtregar/HTML-Template-2.9/Template.pm#TMPL_LOOP
I think its the second loop example on there.
Here is my code on the perl side:
my @wall_data = ();
while(my $wallref = $wallpostquery->fetchrow_hashref())
{
my %walldata;
$walldata{WALL_SUBJECT} = $wallref{'SUBJECT'};
$walldata{WALL_DATE} = $wallref{'DATE'};
$walldata{WALL_POSTID} = $wallref{'POSTID'};
$walldata{WALL_MESSAGE} = $wallref{'MESSAGE'};
push (@wall_data, \%walldata);
# The above pushes the address of hash on the array, over and over
again.
push @wall_data, { %walldata };
# This code pushes an anonymous hash containing the data on to the
array.
}
$template->param(WALL_LOOP => \...@wall_data);
Web side:
<TMPL_LOOP NAME="WALL_LOOP">
<h3><a href="#"><TMPL_VAR NAME='WALL_SUBJECT'> - Posted by <TMPL_VAR
NAME="WALL_POSTID"> on <TMPL_VAR NAME="WALL_DATE"></a></h3>
<div id="wallmessage">
<p><TMPL_VAR NAME="WALL_MESSAGE"></p>
</div>
</TMPL_LOOP>
thanks for those that help, sometimes handling data types is hard for me.
-Scott
that was really fast,
I tried that and still no go here is what i have now, i modified the
query so i know its getting the data correctly just not to the html
part. And I think your right, it is something to do with how its pushing
the has onto the array, it still sees the total rows of the hash because
its printing out the number of entries from the database just not the
data ;S
my $wallpostquery = $dbstore->prepare("SELECT * FROM userwall WHERE
USERID='6'") or die "Unable to connect: $DBI::errstr\n";
$wallpostquery->execute();
my @wall_data = ();
while(my $wallref = $wallpostquery->fetchrow_hashref())
{
my %walldata;
$walldata{WALL_SUBJECT} = $wallref{'SUBJECT'};
$walldata{WALL_DATE} = $wallref{'DATE'};
$walldata{WALL_POSTID} = $wallref{'POSTID'};
$walldata{WALL_MESSAGE} = $wallref{'MESSAGE'};
push @wall_data, { %walldata };
}
$template->param(WALL_LOOP => \...@wall_data);
$wallpostquery->finish();
--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/