<%@ page contentType="text/html; charset=GB2312" %> 
<%@include file="session.jsp" %>
<%@page import="java.net.*"%>
<SCRIPT LANGUAGE="JavaScript">
<!--
function delit(){
document.delfrm.v1.value="";
if(document.delfrm.ChkProgramDel.length){
for(i=0;i<document.delfrm.ChkProgramDel.length;i++){
if(document.delfrm.ChkProgramDel[i].checked){
//document.delfrm.v1.value+=document.delfrm.ChkUserDel[i].value + ",";
document.delfrm.v1.value+="'"+document.delfrm.ChkProgramDel[i].value + "',";
}//if
}//for
}//if
else{
if(document.delfrm.ChkProgramDel.checked){
//document.delfrm.v1.value+=document.delfrm.ChkUserDel.value + ",";
document.delfrm.v1.value+="'"+document.delfrm.ChkProgramDel[i].value + "',";
}//if
}//else
return confirm("你确定要删除的用户为:" + document.delfrm.v1.value);
}
function selectidall()
{
for(i=0;i<document.delfrm.ChkProgramDel.length;i++)
{
document.delfrm.ChkProgramDel[i].checked = !document.delfrm.ChkProgramDel[i].checked;
}
}
//-->
</SCRIPT><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="0"> <title>视频点播系统后台管理</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head><body leftmargin="0" topmargin="0">
<table width="760" border="0" align="center" cellpadding="1" cellspacing="1" background="img/dian1.gif">
  <!--DWLayoutTable-->
  <tr bgcolor="f9f9f9"> 
    <td colspan="2"> 
      <%@include file="head.jsp" %>
    </td>
  </tr>
  <tr> 
    <td width="140" bgcolor="#EFEFEF" >&nbsp;</td>
    <td width="617" valign="top" bgcolor="f9f9f9"> <p>&nbsp; 
        <%! String sql,otherurl,searchcondition,err="以下是您要搜索的节目!";  %> 
        <%! int searcharea;  %>
        <%
 if(request.getParameter("searchcondition")!=null)
{
     searchcondition=URLDecoder.decode(new String(request.getParameter("searchcondition").getBytes("iso8859_1"),"gbk"));
 searcharea=Integer.parseInt(request.getParameter("searcharea"));
//out.print(searchcondition);
//out.print(searcharea);
switch(searcharea){
               case 2:
                      sql="select*from vodprogram where ID='"+searchcondition+"'";
                           
                         break; 
               case 3:   
                         sql="select*from vodprogram where name='"+searchcondition+"'";  
 
                         break;
               case 4:
                        sql="select*from vodprogram where channel='"+searchcondition+"'";
 
                         break;
               case 5:
                        sql="select*from vodprogram where sort='"+searchcondition+"'";
 
                         break;
               case 6:   
                        sql="select*from vodprogram where format='"+searchcondition+"'";
 
                         break;
                                
         }

}  %>
      </p>
      <table width="95%" border="0" align="center" cellpadding="1" cellspacing="1" bordercolor="#CCCCCC" bgcolor="#CCCCCC">
        <!--DWLayoutTable-->
        <tr bgcolor="f9f9f9">
          <td colspan="30" valign="middle"><center>
              <font color="#FF0000" size="+1" > 
              <%
if(request.getParameter("err")!=null)
{
String err=URLDecoder.decode(new String(request.getParameter("err").getBytes("iso8859_1"),"gbk"));
out.print(err);
}
        otherurl= "&searchcondition="+searchcondition+"&searcharea="+searcharea;//+"&err="+err;
%>
              </font></center></td>
        </tr >
        <tr bgcolor="f9f9f9"> 
          <form name="select" method="post" action="manageservlet">
            <input type="hidden" name="action" value="search">
            <td colspan="7" valign="middle"> &nbsp;&nbsp;&nbsp;搜索:&nbsp;&nbsp;&nbsp; 
              <input name="searchcondition" type="text" size="20"> &nbsp;&nbsp;&nbsp; 
              <select name="searcharea" size="1" id="select3">
                <option value=1>请选择 </option>
                <!--<option value="请选择">请选择 -->
                <option value=2>节目编号</option>
                <!--<option value="节目编号">节目编号 -->
                <option value=3>节目名称 </option>
                <!--<option value="节目名称">节目名称 -->
                <option value=4>节目频道 </option>
                <!--<option value="节目频道">节目频道-->
                <option value=5>节目类别 </option>
                <!--<option value="节目类别">节目类别 -->
                <option value=6>节目格式 </option>
                <!--<option value="节目格式">节目格式-->
              </select > &nbsp; <input name="submit5" type="submit" id="submit52" value="查询"> 
              &nbsp; <input name="reset2" type="reset" id="reset3" value="重置"></td>
          </form>
        </tr >
        <tr bgcolor="f9f9f9"> 
          <td height="7" colspan="17"  valign="middle"></td>
        </tr>
        <%
          int currentPage=1;//当前页号,初始值
                        if(request.getParameter("page")!=null){//更改页号时,从参数中获得当前页号
                         currentPage= Integer.parseInt(request.getParameter("page"));
                           }
                  util.PageDisplay display=new util.PageDisplay();
                   display.init(request,currentPage,6,sql);
   display.setOtherUrl(otherurl);
               %>
        <tr bordercolor="#000000" bgcolor="#EFEFEF" > 
          <td colspan="7"><%=display.splitPage() %><!--每页6条/共60条&nbsp;&nbsp;&nbsp;第1页/共10页&nbsp;&nbsp;&nbsp;第一页&nbsp;上一页&nbsp;下一页&nbsp;最后一页&nbsp;跳转至 
            <select name="">
              <option>1</option>
              <option>2</option>
              <option>3</option>
            </select>--></td>
        </tr >
        <tr bgcolor="#EFEFEF" > 
          <td width="92"><div align="left">节目类别</div></td>
          <td width="116"><div align="left">节目名称</div></td>
          <td width="107"><div align="left">节目频道</div></td>
          <td width="34">格式</td>
          <td width="120"><div align="left">播出时间</div></td>
          <td width="53"><div align="left">修改</div></td>
          <td width="39"><div align="left">删除</div></td>
        </tr ><%=display.programlist()  %>
      <form name="delfrm" method="post" action="ManageServlet" onsubmit="return delit()">
          <input type="hidden" name="action" value="delprogram">
            <!--  <tr bgcolor="f9f9f9"> 
            <td height="23">体育节目</td>
            <td>黑龙江新闻</td>
            <td>黑龙江电视台</td>
            <td>rmvb</td>
            <td>2003-12-27 18:00:00</td>
            <td><a href="actchange.jsp?id="><font color="#FF0000">10001</font></a></td>
            <td><input name="ChkProgramDel" type="Checkbox" id="ChkUserDel" value="check"></td>
          </tr>-->
          <tr bgcolor="f9f9f9"> 
            <td height="38" colspan="7" align="center"> <input name="DelProgram" type="submit" id="submit32" value="删除此节目"> 
              &nbsp;&nbsp;&nbsp; <input name="reset" type="reset" id="submit43" value="重置"> 
              &nbsp;&nbsp;&nbsp; <input type="button" name="Sal" value="全选" onClick="selectidall()"> 
              <input type="hidden" name="v1"> </td>
          </tr>
        </form>
      </table>
      <div align="center"></div>
      <p>&nbsp;</p></td>
  </tr>
  <tr> 
    <td colspan="2"> <div align="center"> 
        <%@include file="end.jsp" %>
      </div></td>
  </tr>
</table>
</body>
</html>
这是我JSP页面中的代码

解决方案 »

  1.   

    现在的问题是:
    如果通过查询得到的 private int totalRecords = 0;//总记录数
      等于13条的话
    那么在分页显示的时候
    第一页显示的全是 第一条记录 (六条全是数据库中的第一条记录)
    第二页显示的全是 第二条记录 (六条全是数据库中的第二条记录)
    第三页显示的全是 第三条记录(就一条)
    (每页显示6条)
    剩下的记录就没有显示了怎么回事啊
    郁闷
    谢谢大家了啊
      

  2.   

    ResultSet rs=stam.executeQuery(SQL);
                   rs.absolute(currentPage);
                  for(int i=start;i<end;i++){
                                  
                                  id=rs.getString("ID");                  //编号
                                   format=rs.getString("format");          //格式
                                   sort=rs.getString("sort");              //类别
                                   name=rs.getString("name");              //名称
                                   channel=rs.getString("channel");        //频道
                                   pdatetime=rs.getString("pdatetime");    //时间
                                   str.append("<tr bgcolor=\"f9f9f9\"> ");
                                   str.append("<td height=\"23\">");
                                   str.append(sort);
                                   str.append("</td>");
                                   str.append("<td>");
                                   str.append(name);
                                   str.append("</td>");
                                   str.append("<td>");
                                   str.append(channel);
                                   str.append("</td>");
                                   str.append("<td>");
                                   str.append(format);
                                   str.append("</td>");
                                   str.append("<td>");
                                   str.append(pdatetime);
                                   str.append("<td><a href=\"actchange.jsp?id=\""+id+"><font color=\"#FF0000\">"+id+"</font></a></td>");
                                   str.append("<td><input name=\"ChkProgramDel\" type=\"Checkbox\" value=\""+id+"\"></td>");
                                   str.append("</tr>");
                               }
                               
                  stam.close();这段里不见有rs.next();
      

  3.   

    另外,我发现你的程序有一点点乱。如果改用框架,例如Struts,把JAVA和JSP代码分开,就容易分析了。仅我个人看法,不一定对,仅供参考。
      

  4.   

    ResultSet rs=stam.executeQuery(SQL);
    rs.absolute(currentPage);  ------------->问题在这里!
      for(int i=start;i<end;i++){
                  
        id=rs.getString("ID");          //编号
        format=rs.getString("format");  //格式
        sort=rs.getString("sort");      //类别
    //试试看,这样行不?
    ResultSet rs=stam.executeQuery(SQL); 
      for(int i=start;i<end;i++){
        rs.absolute(i);        
        id=rs.getString("ID");          //编号
        format=rs.getString("format");  //格式
        sort=rs.getString("sort");      //类别因为你的循环rs(currentPage)的值都没有变,所以取到的每次6条都一样.等你第二页的时候currentPage为2了,它就去了第二条数据6次!
      

  5.   

    楼上说的是啊
    但是那么改不行啊
    currentPage是当前的页啊
      

  6.   

    TO:kui(kui) 这我知道啊
    但是 struts我还没有看呢啊
    一点都不理解啊