Hey Dan,
if ($sth->rows) {
$featured_r = $sth->fetchrow_hashref();
}
open (FEATURED, ">$LINKS{build_root_path}/featured_test.txt") or die ("unable to open featured page: $LINKS{build_root_path}/featured_test.txt. Reason: $!");
print FEATURED &site_featured_template(\%OUT);
close(FEATURED);
These two parts need to be combined into one. Each time you go through the foreach loop it needs to print a line in featured_test.txt. In this case there are 2 %featured_r in %link_output. Open the file before you start the foreach, then place the print FEATURED inside the foreach after $feature_r gets assigned the right variables. Then close FEATURED after the foreach id done it's iterations.
So it would look more like:
open (FEATURED, ">$LINKS{build_root_path}/featured_test.txt") or die ("unable to open featured page: $LINKS{build_root_path}/featured_test.txt. Reason: $!");
foreach $featured_r (sort keys %link_output) {
if ($sth->rows) {
$featured_r = $sth->fetchrow_hashref();
$OUT{ID} = $featured_r->{'ID'};
$OUT{Title} = $featured_r->{'Title'};
$OUT{URL} = $featured_r->{'URL'};
$OUT{Description} = $featured_r->{'Description'}; print FEATURED &site_featured_template(\%OUT);
}
close(FEATURED);
As for the other db_select_field thing, I'm not sure it should work if it got added into you SQL database as an enum object. Check that when you edit the field properties you check the box in the first column, otherwie changes you request will not be processed. I know I've done that a few times and couldn't figure out why, realizing much later that it was just that.
Good luck
Code:
foreach $featured_r (sort keys %link_output) { if ($sth->rows) {
$featured_r = $sth->fetchrow_hashref();
}
open (FEATURED, ">$LINKS{build_root_path}/featured_test.txt") or die ("unable to open featured page: $LINKS{build_root_path}/featured_test.txt. Reason: $!");
print FEATURED &site_featured_template(\%OUT);
close(FEATURED);
These two parts need to be combined into one. Each time you go through the foreach loop it needs to print a line in featured_test.txt. In this case there are 2 %featured_r in %link_output. Open the file before you start the foreach, then place the print FEATURED inside the foreach after $feature_r gets assigned the right variables. Then close FEATURED after the foreach id done it's iterations.
So it would look more like:
Code:
%OUT = (); # Start with a clean hash. open (FEATURED, ">$LINKS{build_root_path}/featured_test.txt") or die ("unable to open featured page: $LINKS{build_root_path}/featured_test.txt. Reason: $!");
foreach $featured_r (sort keys %link_output) {
if ($sth->rows) {
$featured_r = $sth->fetchrow_hashref();
$OUT{ID} = $featured_r->{'ID'};
$OUT{Title} = $featured_r->{'Title'};
$OUT{URL} = $featured_r->{'URL'};
$OUT{Description} = $featured_r->{'Description'}; print FEATURED &site_featured_template(\%OUT);
}
close(FEATURED);
As for the other db_select_field thing, I'm not sure it should work if it got added into you SQL database as an enum object. Check that when you edit the field properties you check the box in the first column, otherwie changes you request will not be processed. I know I've done that a few times and couldn't figure out why, realizing much later that it was just that.
Good luck