新闻发布系统之分页查询and评论

分页查询

 *通过点击首页,上一页,下一页,末页,进行页面跳转

连接数据库,通过count函数获取新闻表的总条数,然后在进行分页查询

 Class.forName("oracle.jdbc.driver.OracleDriver");
	//连接数据库
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	//创建对象
	
	//求出数据总条数
	PreparedStatement ps = con.prepareStatement("select count(*) from news");
	ResultSet rs=ps.executeQuery();
	int count=0;
	if(rs.next()){
		count=rs.getInt(1)+1;
	}
	
	
	int pageIndex=1;//页码
	String index=request.getParameter("pageIndex");
	if(index!=null){
		pageIndex=Integer.valueOf(index);
	}
	int pageSize=5;//每页数据条数
	//计算最大页码
	int maxPage=count/pageSize;
	if(count%pageSize!=0){
		maxPage++;
	}
	
	int start=(pageIndex-1)*pageSize+1;
	int end=pageIndex*pageSize;
	String sql="select * from(select a.*,rownum mid from news a)b where mid>=? and mid<=?";
	ps=con.prepareStatement(sql);
	ps.setInt(1, start);
	ps.setInt(2, end);
	rs=ps.executeQuery();

在<a>下设置跳转路径


添加评论

 点击查看的新闻标题,然后跳转到新闻阅读页面

 

绑定数据库,进行评论

 相关代码

<获取编号,绑定评论表>

<%
	request.setCharacterEncoding("utf-8");
	//接收评论人的编号(用户编号)
	Object id = session.getAttribute("uuid");
	int uuid = (Integer)id;//强转
	//评论人的IP
	String pip = request.getParameter("cip");
	//接收新闻编号(给哪一篇新闻评论)
	int nid = Integer.valueOf(request.getParameter("nid"));
	//评论内容
	String pnr = request.getParameter("ccontent");
	//评论主键编号:连接数据库查询到最大编号 然后加1
	int nextPid = 1;
	//连接数据库
	Class.forName("oracle.jdbc.OracleDriver");
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	PreparedStatement ps = con.prepareStatement("select max(pid) from ptext");
	ResultSet rs = ps.executeQuery();
	if(rs.next()){
		nextPid = rs.getInt(1)+1;
	}
	
	//连接数据库,添加评论
	ps = con.prepareStatement("insert into ptext values(?,?,?,?,sysdate,?)");
	ps.setInt(1, nextPid);
	ps.setInt(2, uuid);
	ps.setInt(3, nid);
	ps.setString(4, pnr);
	ps.setString(5, pip);
	int i = ps.executeUpdate();
	if(i>0){
		out.print("<script>alert('评论成功');location.href='read_news.jsp?nid="+nid+"'</script>");
	}else{
		out.print("<script>alert('评论失败');location.href='read_news.jsp?nid="+nid+"'</script>");
	}
	
%>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值