JSP新闻项目的分页模糊查询

String str = request.getParameter("str");
    		if(str==null){
    			str = "";
    		}

根据name属性获取到分页文本框的关键字

int start = (pageIndex-1)*pageSize+1;
    		int end = pageIndex*pageSize;
    		String sql = "select * from(select a.*,rownum mid from newst a where ntitle like '%"+str+"%')b where mid>=? and mid<=?";    		
			ps = con.prepareStatement(sql);
			ps.setInt(1,start);
			ps.setInt(2, end);
			rs = ps.executeQuery();

根据获取到的关键字进行模糊查询,并刷新分页

//接收新闻主题
      		String id = request.getParameter("tid");
      		String countSql = "select count(*) from news";
      		String pageSql = "select * from (select a.*,rownum mid from news a)b where mid>=? and mid<=?";
      		int tid = 1;
      		if(id!=null){//要执行 根据主题查询 的 分页
      			tid = Integer.valueOf(id);
      			countSql = "select count(*) from news where tid="+tid;
      			pageSql = "select * from (select a.*,rownum mid from news a where tid="+tid+")b where mid>=? and mid<=?";
      		}
      	
      		//查询新闻总条数
      		ps = con.prepareStatement(countSql);
      		rs = ps.executeQuery();
      		int count = 0;
      		if(rs.next()){
      			count = rs.getInt(1);
      		}
      		
      		//获取页面
      		String index = request.getParameter("pageIndex");
      		int pageIndex = 1;
      		if(index!=null){
				pageIndex = Integer.valueOf(index);      			
      		}
      		//查询新闻
      		int pageSize = 10;
      		//求出最大页码
      		int maxPage = count/pageSize;
      		if(count%pageSize != 0){
      			maxPage++;
      		}
      		int start = (pageIndex-1)*pageSize+1;
      		int end = pageIndex*pageSize;
      		ps = con.prepareStatement(pageSql);
      		ps.setInt(1, start);
      		ps.setInt(2, end);
      		rs = ps.executeQuery();

根据name属性获取新闻主题的id,在通过id进行模糊查询,进行分页,并查询新闻总条数,最后刷新分页。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值