[prev in list] [next in list] [prev in thread] [next in thread]
List: msql-mysql-modules
Subject: Link to parent pages
From: Jan Eden <lists () janeden ! org>
Date: 2005-04-18 14:20:57
Message-ID: r02010500-1039-15491E2FB01511D99C09000A959B4026 () [10 ! 149 ! 23 ! 127]
[Download RAW message or body]
Hi,
I employ a method to display lists of items ("children") for a "parent" page in my \
hierarchy described in the MySQL Cookbook by Paul DuBois (see the code below). Now is \
there a simple way to link back to the correct part of the splitted "parent" page \
from an item in the list?
I would like to avoid passing the start parameter around several times, as this \
information should follow from the position of the page within an ordered result of a \
SELECT query.
So can I use the LIMIT function to achieve the reverse?
Thanks,
Jan
sub index_links {
my ($start, $link_mode, $item_id, $dbh) = @_;
my %mode_hash = (
page => { per_page => 30, table => 'pages', column => 'mother_id', href => \
'/', additional => ' AND VISIBLE = 1 AND site_id = 1'}, author => { per_page => 30, \
table => 'pages, pages AS motherpages', column => 'pages.author_id', href => \
'/authors/', additional => ' AND pages.visible = 1 AND pages.site_id = 1 AND \
pages.mother_id = motherpages.page_id AND pages.author_id <> motherpages.author_id' \
},
gallery => { per_page => 10, table => 'pictures', column => 'gallery_id', \
href => '/gallery/' }, );
my $index_type = $mode_hash{$link_mode};
my ($rowcount) = $dbh->selectrow_array("SELECT COUNT(*) FROM $index_type->{table} \
WHERE $index_type->{column} = $item_id $index_type->{additional}"); my $link_string \
= ''; if ($rowcount > $index_type->{per_page}) {
my @index_links;
for (my $first = 1; $first <= $rowcount; $first += $index_type->{per_page}) {
my $last = $first + $index_type->{per_page} - 1;
$last = $rowcount if $last > $rowcount;
my $label = "$first-$last";
my $link;
if ($first != $start) { $link = qq{<a \
href="$index_type->{href}$item_id?start=$first" target="_self">$label</a>}; } else { \
$link = $label; } push @index_links, $link;
}
$link_string .= qq{<p class="zentral">};
$link_string .= join " | ", @index_links;
$link_string .= qq{</p>};
}
return $link_string;
}
--
Life's unfair - but root password helps!
--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=msql-mysql-modules@progressive-comp.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic