php 自定义分页函数

1 篇文章 0 订阅

php 自定义分页函数

$page: 总页数
$now: 当前页
$pagelink: 分页地址前缀

// 分页生成函数
function pageshow($page,$now,$pagelink)
{
    $html = '';
    if ($page==1) {
        return $html;
    }
    $shownum = 5;  //中间显示5个
    // Previous
    $disabled = $now==1 ? 'disabled' : '';
    $prelink = $now>0 ? $now-1 : 1;
    $html .= '<li class="page-item '.$disabled.'"><a class="page-link" href="'.$pagelink.$prelink.'.html" tabindex="-1">Previous</a></li>';
    //左边省略号并显示第一页
    if ($now>3) {
        $html .= '<li class="page-item"><a class="page-link" href="'.$pagelink.'1.html">1</a></li>';
        if ($now!=4) {
            $html .= '<li class="page-item"><a class="page-link" href="javascript:;">···</a></li>';
        }
    }
    //左边分页
    for ($i=$now-2; $i < $now; $i++) { 
        if ($i>0) {
            $html .= '<li class="page-item"><a class="page-link" href="'.$pagelink.$i.'.html">'.$i.'</a></li>';
        }
    }
    //当前页
    $html .= '<li class="page-item active"><a class="page-link" href="'.$pagelink.$now.'.html">'.$now.'</a></li>';
    //右边分页
    for ($i=$now+1; $i < $now+3; $i++) { 
        if ($i <= $page) {
            $html .= '<li class="page-item"><a class="page-link" href="'.$pagelink.$i.'.html">'.$i.'</a></li>';
        }
    }
    //右边省略号并显示最后一页
    if ($page>2+$now) {
        if($now+3 != $page){
            $html .= '<li class="page-item"><a class="page-link" href="javascript:;">···</a></li>';
        }
        $html .= '<li class="page-item"><a class="page-link" href="'.$pagelink.$page.'.html">'.$page.'</a></li>';
    }
    // next
    $disabled = $now==$page ? 'disabled' : '';
    $nextlink = $now>$page ? $page : $now+1;
    $html .= '<li class="page-item '.$disabled.'"><a class="page-link" href="'.$pagelink.$nextlink.'.html" tabindex="-1">Next</a></li>';
    return $html;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来为您解答这个问题。 首先,您需要在您的 JPA 仓库接口中定义一个自定义函数。这个函数可以使用 JPA Criteria API 或者 JPQL 来实现。例如: ```java public interface UserRepository extends JpaRepository<User, Long> { @Query("SELECT u FROM User u WHERE u.name LIKE %?1%") Page<User> findByCustomName(String name, Pageable pageable); } ``` 在上面的例子中,我们定义了一个名为 `findByCustomName` 的自定义函数,它使用 JPQL 查询语句来查找名字中包含特定字符串的用户。 然后,您可以在您的服务中使用这个自定义函数来进行分页查询。例如: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public Page<User> findUsersByName(String name, Pageable pageable) { return userRepository.findByCustomName(name, pageable); } } ``` 在上面的例子中,我们注入了 `UserRepository`,并且在 `UserService` 中定义了一个名为 `findUsersByName` 的方法来调用自定义函数。 最后,您可以在您的控制器中使用 `Pageable` 参数来进行分页处理。例如: ```java @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping public Page<User> getUsersByName(@RequestParam("name") String name, Pageable pageable) { return userService.findUsersByName(name, pageable); } } ``` 在上面的例子中,我们使用 `@RequestParam` 注解来获取查询参数,并且将 `Pageable` 参数传递给服务方法来进行分页处理。 这样,您就可以使用 JPA 自定义函数来进行分页处理了。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值