- 论坛徽章:
- 0
|
package TcmDict::Search;
use strict;
use warnings;
use base 'TcmDict';
use URI::Escape;
#
# Runmodes -----------------------
#
sub default : StartRunmode {
my $self = shift;
my %tables = (
'中药' => 'zhongyao',
'方剂' => 'fj_info_gb2312',
'西药' => 'xiyao',
'辞典' => 'fangji', # maybe, later it wiil be 'cidian' 
);
my $q = $self->query->param('q'); # if $q is null, it should be redirected to an error page...
my $meta = $self->query->param('meta');
my $query = '%' . $q . '%';
my $dict = $self->{'__cdbi__loader__'}->find_class($tables{"$meta"});
my $pager = $dict->pager({
entries_per_page => 20,
current_page => $self->query->param('page') || 1,
pages_per_set => 5,
});
my $results = $pager->search_like(mingcheng => $query);
$self->template->fill('search.tt',
{ results => $results,
pager => $pager,
q => uri_escape($q),
meta => uri_escape($meta),
lib => uri_escape($meta),}
);
}
=head
sub node : Runmode {
my $self = shift;
}
=cut
sub error : ErrorRunmode {}
1; |
这是用 CGI::Application 作的一个小玩意,其中的 查询部分,这个就可以实现分页了,当然,还有其他部分没发,还有 template 的 |
|