目录
一.完成对新闻标题的模糊查询
二.完成对新闻的评论(增加与删除)
三.指令包含
-----------------------------------------------------------------------------------------------------
一.新闻的模糊查询
思路:
1、增加一个文本框 与按钮 放入表单中 提交到自身所在的页面
2.接收文本框的name值
3、在查询所有的时候加入sql语句 并加入条件(之前获取的文本框的name值)
代码:
<form action="admin.jsp" method="post">
<select name="bt">
<option value='请选择'>请选择</option>
<option value='作者'>作者</option>
<option value="标题">标题</option>
</select>
<input type="text" name="bk" value="">
<input type="submit" value="查询">
</form>
<% //获取下拉框与文本框的值
String bt=request.getParameter("bt");//下拉框
String bk=request.getParameter("bk");//文本框
if(bk==null){
bk="";
}
//破碎重组
bk=new String(bk.getBytes("iso-8859-1"),"utf-8");
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
Class.forName(CNAME);
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
String sql="select * from News where ntitle like '%"+bk+"%' order by nid desc";
PreparedStatement ps=con.prepareStatement(sql);
out.print(sql);
ResultSet rs=ps.executeQuery();
while(rs.next()){
%>
<li><a href="/xm/read.jsp?nid=<%=rs.getInt(1) %>"><%=rs.getString(3) %></a>
<span>作者:<%=rs.getString(4) %>       
<a href='update.jsp?nid=<%=rs.getInt(1)%>'>修改</a>    
<a href='delete.jsp?nid=<%=rs.getInt(1)%>' id="al" onclick="return myf()">删除</a>
</span>
</li>
<%
}
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
效果图:
查询前:
查询后:
二.新闻的评论
思路:在数据库中增加一个表,并且跟新闻表绑定 使每条新闻都有自己的评论
在增加并查询
代码:
<%
//接收来自直接面admin的nid
String nid=request.getParameter("nid");
//单个查询 找到其对应的信息
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
Class.forName(CNAME);
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
String sql="select * from News where nid="+nid;
PreparedStatement ps=con.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
String ntitle="";
String nauthor="";
String ncontent="";
String naddtime="";
int ncount=0;
while(rs.next()){
ntitle=rs.getString(3);
nauthor=rs.getString(4);
ncontent=rs.getString(6);
naddtime=rs.getString(8);
ncount=rs.getInt(9);
}
sql="update News set ncount=nvl(ncount,0)+1 where nid="+nid;
ps=con.prepareStatement(sql);
int n=ps.executeUpdate();
%>
效果图:
三、指令包含
关键代码:<%@include file="foota.jsp"%>