У меня есть проблема, связанная с пейджингом с использованием фильтроэкспрессии.
Вот фрагмент кода для фильтрации:
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 ПОСЛЕ ПЕРЕМЕННОЙ SORTORDER, чтобы после фильтрации, когда я отправлялся на подкачку страниц, отображались только те записи, которые были ограничены выражением фильтра.
Я пытался слить таким образом ..
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» в переменную типа:
$string =~ m/^$Id/;
но когда я попытался напечатать эту переменную, я ничего не получил.
Пожалуйста, помогите мне с решением. Спасибо.