⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.jsp

📁 这是一个用JAVA语言编写的BBS论坛程序
💻 JSP
字号:
<%
/*
 * Copyright:  Copyright (c) 2004 
 * @author http://hi.baidu.com/lael80*/
%>
<%@ page contentType="text/html; charset=gb2312" errorPage=""%>
<%@ include file="head.jsp"%>
<br>
<%=tabletop%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1">
 <tr><td height="25" class="b1">&nbsp;</td></tr>
  <form name="form1" method="post" action="search.jsp?pageid=1"> 
  <tr>
    <td height="30" align="center" valign="middle">请输入关键字:
    <input type="text" name="search" size="35" maxlength="150" value="<%=workFC.UnitoGB(request.getParameter("search"))%>" onFocus="this.select()">&nbsp;
    <select name="searchkey">
      <option selected value="user_name">搜索主题作者</option>
      <option value="topic_theme">主题中搜索关键字</option>
      <option value="topic_content">内容中搜索关键字</option>
      <option value="user_topic">主题与内容中搜索关键字</option>
      <option value="reply_content">回复中搜索关键字</option>
    </select>&nbsp;
    <select name="searchlimit">
      <option selected value="0">所有日期</option>
      <option value="2">搜索3天内</option>
      <option value="6">搜索7天内</option>
      <option value="29">搜索30天内</option>
    </select>&nbsp;
    <select name="forum">
      <option selected value="0">全部论坛</option>
      <option value="1">网页设计</option>
      <option value="2">平面设计</option>
      <option value="3">动漫前沿</option>
      <option value="4">编程开发</option>
      <option value="5">电脑网络</option>
      <option value="6">灌水乐园</option>
      <option value="7">电视电影</option>
      <option value="8">贴图专区</option>
      <option value="9">论坛事务</option>
    </select>
    </td>
  </tr>
  <tr>
   <td height="30" align="center" valign="middle"><input type="submit" name="Submit1" value="搜  索   &gt;&gt;&gt;"></td>
  </tr>
</form>
</table>
<%=tablebottom%>
<br>

<%if(workFC.cNULL(request.getParameter("search"))){%>
<%=tabletop%>
<table width="100%" border="0" align="center" cellpadding="1" cellspacing="1">
 <tr><td height="25" colspan="6" class="b1">&nbsp;</td></tr>
 <tr height="20" valign="middle" align="center" class="style3">
  <td width="4%">&nbsp;</td>
  <td width="50%">主题</td>
  <td width="11%">作者</td>
  <td width="5%">回复</td>
  <td width="5%">人气</td>
  <td width="25%">最后更新</td>
 </tr>
<%
int searchlimit=0;
try{ 
  pageid=Integer.parseInt(request.getParameter("pageid"));
}catch(Exception e){pageid=1;}
try{
  forum=Integer.parseInt(request.getParameter("forum"));
}catch(Exception e){forum=0;}
try{
  searchlimit=Integer.parseInt(request.getParameter("searchlimit"));
}catch(Exception e){searchlimit=0;}
String searchkey=request.getParameter("searchkey");
String search=request.getParameter("search");
String temp=" where ";
int i=0,j=0;
urlpath="&forum="+forum+"&searchlimit="+searchlimit+"&searchkey="+searchkey+"&search="+workFC.UnitoGB(search)+"&";
search=workFC.HtmltoStr(search);

if(forum!=0){
  if(searchkey.equals("reply_content")){
      sql=temp+"b.reply_forum="+forum;
  }else sql=temp+"a.topic_forum="+forum;
  temp=" and ";
}
if(searchlimit!=0){
  if(searchkey.equals("reply_content")){
    sql+=temp+"TO_DAYS(b.reply_date)>=TO_DAYS(now())-"+searchlimit;
  }else sql+=temp+"TO_DAYS(a.topic_date)>=TO_DAYS(now())-"+searchlimit;
  temp=" and ";
}
if(searchkey.equals("reply_content")){
  sql+=temp+"b.reply_content like '%"+search+"%'";
}else if(searchkey.equals("user_topic")){
  sql+=temp+"a.topic_theme like '%"+search+"%' or a.topic_content like '%"+search+"%'";
}else sql+=temp+"a."+searchkey+" like '%"+search+"%'";

if(searchkey.equals("reply_content")){
  workDB.PageInfo("select count(topic_id) from user_reply b "+sql,30,pageid);
}else workDB.PageInfo("select count(topic_id) from user_topic a "+sql,30,pageid);

if(searchkey.equals("reply_content")){
  sql="select a.topic_id,a.user_name,b.reply_id,a.topic_theme,a.topic_date,b.reply_date,a.topic_read,a.topic_type,a.topic_forum from user_topic a left join user_reply b using(topic_id)"+sql+" group by topic_id";
}else sql="select a.topic_id,a.user_name,count(b.topic_id),a.topic_theme,a.topic_date,max(b.reply_date),a.topic_read,a.topic_type,a.topic_forum from user_topic a left join user_reply b using(topic_id)"+sql+" group by topic_id";

String topicdata[]=workDB.queryData(sql,9,pageid,30);
for(i=0;i<topicdata.length/9;i++){
  if(searchkey.equals("reply_content")){
    String tmpdata[]=workDB.queryData("select count(topic_id),max(reply_date) from user_reply where topic_id="+topicdata[9*i],2,1,1);
    topicdata[9*i+2]=tmpdata[0];
    topicdata[9*i+5]=tmpdata[1];
  } 
  String stheme="",sname="",supdate="",slist="",stpimg="<img src='images/topic2.gif' width='17' height='12'>";
  String snew=""; 
  String simage="<img src='images/sub.gif'>";
  String replydata[]=new String[3];
  String stitle="作者:"+topicdata[9*i+1]+"&#13;&#10;时间:"+topicdata[9*i+4]+"&#13;&#10;没有回复";
  if(Integer.parseInt(topicdata[9*i+2])!=0){
    replydata=workDB.queryData("select user_name,substring(reply_content,1,10),reply_date from user_reply where topic_id="+topicdata[9*i]+" order by reply_date desc",3,1,1);
    stpimg="<img src='images/topic1.gif' width='17' height='12'>";
    simage="<a href='javascript:hiddenvisible("+topicdata[9*i]+");'><img id='"+topicdata[9*i]+"100' src='images/add.gif'></a>";
    stitle="作者:"+topicdata[9*i+1]+"&#13;&#10;时间:"+topicdata[9*i+4]+"&#13;&#10;最后回复:"+replydata[1]+"&#13;&#10;由"+replydata[0]+"回复于:"+replydata[2];
    if((Integer.parseInt(topicdata[9*i+2])+9)/10>1){
      slist="&nbsp;&nbsp;&nbsp;[<img src='images/list.gif'>";
      for(j=1;j<=(Integer.parseInt(topicdata[9*i+2])+9)/10;j++){       
        if(j==10&&(Integer.parseInt(topicdata[9*i+2])+9)/10>10)break;
        slist=slist+"&nbsp;<a href='display.jsp?forum="+topicdata[9*i+8]+"&topic="+topicdata[9*i]+"&pageid=1&id="+j+"'>"+j+"</a>";
      }
      if((Integer.parseInt(topicdata[9*i+2])+9)/10>10)slist=slist+"......<a href='display.jsp?forum="+forum+"&topic="+topicdata[9*i]+"&pageid="+pageid+"&id="+(Integer.parseInt(topicdata[9*i+2])+9)/10+"'>"+(Integer.parseInt(topicdata[9*i+2])+9)/10+"</a>";
      slist=slist+"&nbsp;]";      
    }
  }
  java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM-dd");
  java.util.Date date=format.parse(topicdata[9*i+4]);
  String str1=format.format(date);
  String str2=format.format(new java.util.Date()); 
  if(str1.equals(str2))snew="&nbsp;<img src='images/new.gif'>";
     if(topicdata[9*i+7].equals("1"))stpimg="<img src='images/topic3.gif' width='17' height='12'>"; 
  stheme=simage+"<a href='display.jsp?forum="+topicdata[9*i+8]+"&topic="+topicdata[9*i]+"&pageid=1&id=1' title='"+stitle+"'>"; 
  if(session.getAttribute("u_name").equals(workFC.GBtoUni(topicdata[9*i+1])))sname="<img src='images/ren.gif'>";  
  if(Integer.parseInt(topicdata[9*i+2])==0){
    supdate=topicdata[9*i+4]+"|"+topicdata[9*i+1];
  }else supdate=replydata[2]+"|<a href='userinfo.jsp?name="+replydata[0]+"'>"+replydata[0]+"</a>";
 
  out.println("<tr height='20' align='center'><td width='4%' class='style4'>"+stpimg+"</td>"+
     "<td width='50%' align='left' class='style5'>"+stheme+topicdata[9*i+3]+"</a>"+snew+slist+"</td>"+
     "<td width='11%' class='style4'>"+sname+"<a href='userinfo.jsp?name="+topicdata[9*i+1]+"'>"+topicdata[9*i+1]+"</a></td>"+
     "<td width='5%' class='style5'>"+topicdata[9*i+2]+"</td>"+
     "<td width='5%' class='style5'>"+topicdata[9*i+6]+"</td>"+
     "<td width='25%' class='style4'>"+supdate+"</td></tr>");
  if(Integer.parseInt(topicdata[9*i+2])!=0){
     out.println("<tr id='"+topicdata[9*i]+"' style='display:none' height='20' align='center'>");
     out.println("<td width='4%'>&nbsp;</td><td width='95%' align='left' colspan='6'>");
     out.println("<iframe id='frm"+topicdata[9*i]+"' name='frm"+topicdata[9*i]+"' frameborder='0' width='100%' height='20' scrolling='no' src='listtree.jsp?forum="+topicdata[9*i+8]+"&topic="+topicdata[9*i]+"&pageid=1&id=1'>");        
     out.println("</iframe></td></tr>");
  }
}
%>
</table>
<%=tablebottom%>
  <table width="96%" align="center" border="0" cellspacing="5" cellpadding="0" style="background-color:#FFFFFF;">
  <form name="form2" onSubmit="return false;"><tr>
    <td width="40%" align="left"><%out.println("&nbsp;页次:"+pageid+"/"+workDB.getPageCount()+"页&nbsp;本页:"+workDB.getPageNowCount()+"&nbsp;搜索到帖子:"+workDB.getDataCount()+"条");%></td>
    <td width="48%" align="right"><%=workFC.ShowPage(workDB.getPageCount(),pageid,"search.jsp?"+urlpath+"pageid")%></td>
    <td width="12%" align="right"><input name="go_page" id="go_page" type="text" size="5" maxlength="10" onkeyup="if(isNaN(this.value)||this.value==' ')this.value='';" onkeydown="if(this.value!=''&&event.keyCode==13)goes();" title="转到指定页">&nbsp;<input type="button" name="Submit" value="GO" onclick="goes();" title="转到指定页">&nbsp;</td>
  </tr></form>
  </table>
<script language=javascript>
<!--
   function goes(){
       if(document.form2.go_page.value==""||document.form2.go_page.value==0)return false;
       window.location="search.jsp?<%=urlpath%>pageid="+document.form2.go_page.value;
   } 
//-->
</script>
<%}%>
<%@ include file="footer.jsp"%>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -