J'ai un problème concernant la pagination en utilisant l'expression de filtre. est ici le morceau de code pour le filtrage:Comment mettre une expression de filtre dans l'URL en utilisant Perl?
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"
et est ici morceau du code d'appel:
print qq[<td><a href="UsersList.cgi?
pageNum=$pageN&limit=$limit&SortBy=$SortBy&SortOrder=$SortOrder"><</a></td>];
LA QUESTION I EST VEUX METTRE LA NOTION DE FILTRE DANS CE HREF APRÈS VARIABLE SortOrder, de sorte que après le filtrage lorsque je pars pour la pagination, seuls les enregistrements confinés à l'expression du filtre doivent être affichés. J'ai essayé de fusionner cette façon ..
print qq[<td><a href="UsersList.cgi?
pageNum=$pageN&limit=$limit&SortBy=$SortBy&SortOrder=$SortOrder
&Filter=$filterexpression"><</a></td>];
mais url je suis arrivé à voir quelque chose comme ceci:
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
Plus tard j'ai essayé de mettre la valeur « $ Id » dans un varible comme: Mais quand j'ai essayé d'imprimer cette variable, je n'ai rien reçu. S'il vous plaît, aidez-moi avec une solution. Merci.
I modifié le code, mais dès que je donne le exprssion filtre le son don moi cette erreur "sous-routine Undefined & main :: urlencode appelé à la ligne 277." – SUSH
Il est épelé ['uri_escape'] (http://p3rl.org/URI::Escape). – daxim