JavaWeb新闻信息数据维护——评论与回复以及分页
数据 信息 以及 分页 维护 新闻 评论 javaweb
2023-06-13 09:13:10 时间
//其实评论与回复是差不多的(都需要一个表来存数据)所以我以评论为例(供参考)
//这是一个doaddpl.sql代码,
//防止乱码
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(ppid) from ptextt");
//执行sql语句
ResultSet rs = ps.executeQuery();
if(rs.next()){
nextPid = rs.getInt(1)+1;
}
//连接数据库,添加评论
ps = con.prepareStatement("insert into ptextt 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>");
}
//以下是查询新闻评论的主界面代码的一部分
<%
//查询新闻的评论
ps = con.prepareStatement("select * from ptextt where nid="+nid+" order by ppid");
rs = ps.executeQuery();
while(rs.next()){
%>
<li>
<%=rs.getString("ppnr") %>
<a href="dodelepl.jsp?ppid=<%=rs.getInt(1)%>">删除</a>
<a href="#">回复</a>
</li>
<hr>
<%} %>
//效果图如下
//最重要的分页(得理清是如何到第几条数据就开始进行分页)
//这是分页效果的主要代码
//首先注册驱动类
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 count(*) from newst");
ResultSet rs = ps.executeQuery();
int count = 0;
if(rs.next()){
count = rs.getInt(1);
}
int pageIndex = 1;//页码
//接收页码
String index = request.getParameter("pageIndex");
if(index!=null){//如果接收到页面,就给页面pageIndex赋值
pageIndex = Integer.valueOf(index);
}
int pageSize = 5;//每页的数据条数,每页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 newst a)b where tid>=? and tid<=?";
ps = con.prepareStatement(sql);
ps.setInt(1,start);
ps.setInt(2, end);
rs = ps.executeQuery();
while(rs.next()){
%>
<li>
<a href="newspages/read_news.jsp?nid=<%=rs.getInt(1)%>">
<%=rs.getString("ntitle") %>
</a>
<span> 作者:
<%=rs.getString("nzz") %>
     <a href='newspages/update_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a>     
<a href='dodelnews.jsp?nid=<%=rs.getInt(1) %>' onclick='return clickdel()'>删除</a> </span> </li>
<li class='space'></li>
<%} %>
<p align="right">
<a href="admin.jsp">首页</a> <a href="admin.jsp?pageIndex=<%=pageIndex>1?pageIndex-1:1%>">上一页</a>
当前页数:[<%=pageIndex %>/<%=maxPage %>]
<a href="admin.jsp?pageIndex=<%=pageIndex<maxPage?pageIndex+1:maxPage%>">下一页</a>
<a href="admin.jsp?pageIndex=<%=maxPage%>">末页</a>
</p>
</ul>
</div>
</div>
//其中的效果图如下:
相关文章
- 得“数据智能”者得天下,特斯拉、毫末智行、小鹏抢跑2022辅助驾驶赛道下半场
- 信息泄露渠道及风险感知;数据脱敏规则探讨 | FB甲方群话题讨论
- 浪潮信息为六安市二院打造高效影像数据存储平台 提升诊疗效率
- 百度高德地图JS-API学习手记:地图基本设置与省市区数据加载
- 拒绝白嫖!马斯克将起诉微软,称其使用 Twitter 数据“非法”训练GPT
- HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo详解大数据
- C++数据溢出(上溢和下溢)
- MongoDB快速检索数据的技巧(mongodb查询数据)
- 统计Oracle表的数据信息(oracle表的统计信息)
- 数据,从MS SQL服务器上解锁(mssql数据库服务)
- MySQL中处理二进制数据的方法(mysql二进制数据)
- MySQL数据导出:从DMP文件中汲取宝贵信息(mysql导出dmp文件)
- 备份SQL Server行数据备份:保护重要信息的不二之选(sqlserver行数据)
- SQL Server查看器:获取实时数据信息(sqlserver查看器)
- MySQL如何修改数据长度(mysql 修改数据长度)
- MySQL约束名:强化数据准确性(mysql 约束名)
- Oracle如何查看数据块,快速找到目标信息(oracle查看数据块)
- Oracle查询所有表:快速获取视图、表和元数据信息(oracle中查询所有表)
- 查询MSSQL跨服务器查询:一种有效的数据访问方式(mssql 跨服务器)
- MSSQL查询:获取数据库中所有表的信息(mssql查询所有表数据)
- 精简信息将数据用Byte存入MySQL中(byte存mysql)
- Redis快速查询极速获取数据库信息(数据库redis查询数据)
- 搭建Redis集群一键搭建,快速实现数据高可用(redis 集群 一键)
- Oracle ADM革命性管理工具带来的数据智能化运维(oracle adm)
- Redis精准查询,数据精准取值(redis 查询值)
- 明晚8点|360数科首席科学家张家兴:银行数据AI融合中台,如何跨越技术与业务间的天堑