我有关于使用filterexpression进行分页的问题。 这里的用于过滤的一段代码:如何使用Perl在URL中添加过滤器表达式?
if ($q->param("Filter"))
{
$Id=$q->param('User_Id');
$Name=$q->param('User_Name');
if ($Id ne "")
{
$filterexpression= $filterexpression." UserId like '" .$Id. "%' and " ;
}
if ($Name ne "")
{
$filterexpression= $filterexpression." UserName like '" .$Name. "%' and " ;
}
}
$filterexpression= $filterexpression. " UserId > 0"
和这里的传呼代码块:
print qq[<td><a href="UsersList.cgi?
pageNum=$pageN&limit=$limit&SortBy=$SortBy&SortOrder=$SortOrder"><</a></td>];
的问题是,我希望把过滤器表达式在这HREF后排序顺序变量,从而使过滤后,当我去分页,那么只有那些限制在过滤器表达式的记录应显示。 我想这种方式合并..
print qq[<td><a href="UsersList.cgi?
pageNum=$pageN&limit=$limit&SortBy=$SortBy&SortOrder=$SortOrder
&Filter=$filterexpression"><</a></td>];
但在URL我看到这样的事情:
http://localhost/cgi-bin/UsersList.cgi?
pageNum=1&limit=3&SortBy=UserId&SortOrder=Asc&filter=%20%20UserId%20like%
20'1%'%20and%20%20UserId%20>%200
后来我试图把“$ ID”值在像varible:
$string =~ m/^$Id/;
但是,当我试图打印这个变量,我什么都没有。 请帮助我解决方案。谢谢。
我修改了代码,但只要我给过滤p21蛋白表达了其捐赠我这个错误“未定义的子程序和main :: urlencode在第277行调用。” – SUSH 2010-10-06 13:26:24
这是拼写['uri_escape'](http://p3rl.org/URI::Escape)。 – daxim 2010-10-06 13:34:07