给你参考:<script language="JavaScript">
<!--
var endPage = 0;
function winopen(theURL,vHeight,vWidth){
if(!vHeight)vHeight = 250;
if(!vWidth)vWidth = 350;
win=window.open(theURL, "staff<?=$_COOKIE["PHPSESSID"]?>", "resizable=yes,depended=yes,status=no,width="+vWidth+",height="+vHeight);
win.focus();
}
function NextPage(vPId){
vQnum = list_form.q_num.value;
vQnum = vQnum*1;
if(vQnum == endPage && vPId>0){
alert("已经是最后一页了!");
return false;
}
if(vQnum == 1 && vPId<0){
alert("已经是第一页了!");
return false;
}
list_form.q_num.value = vQnum + vPId;
list_form.submit();
return false;
}
function GoToPage(vPId){
vQnum = <?=($q_num)?$q_num:0?>;
if(vQnum == vPId == endPage == 1){
alert("只有一页!");
return false;
}
if(vQnum == vPId){
if(endPage == vPId)alert("已经是最后一页了!");
else if(1 == vPId)alert("已经是第一页了!");
else alert("已经是第 "+vPId+" 页了!");
return false;
}
list_form.q_num.value = vPId;
list_form.submit();
return false;
}
function OrderBy(vBy){
vOrderBy = list_form.order.value;
vDesc = list_form.desc.value;
if(vOrderBy != vBy)vDesc = "ASC";
else if(vDesc == "DESC")vDesc = "ASC";
else vDesc = "DESC";
list_form.order.value = vBy;
list_form.desc.value = vDesc;
list_form.submit();
return false;
}
//-->
</script>
....   <input name="cl" type="hidden" value="<?=$cl?>" />
  <input name="fetch" type="hidden" value="<?=$fetch?>" />
  <input name="likes" type="hidden" value="<?=$likes?>" />
  <input name="value" type="hidden" value="<?=$value?>" />
  <input name="order" type="hidden" value="<?=$order?>" />
  <input name="desc" type="hidden" value="<?=$desc?>" />
  <input name="dept_id" type="hidden" value="<?=$dept_id?>" />
  <input name="business_id" type="hidden" value="<?=$business_id?>" />
  <input name="area" type="hidden" value="<?=$area?>" />
  <input name="leave" type="hidden" value="<?=$leave?>" />
  <tr bgcolor="#BBBBBB"> 
<td height="5" colspan="15"></td>
  </tr>
  <tr align="center" bgcolor="#CCCCCC"> 
<td nowrap="nowrap"><a href='#' onclick="return OrderBy('staff_no')">职员编号</a><span id="staff_no"></span></td>
<td><a href='#' onclick="return OrderBy('loginname')">英文名</a><span id="loginname"></span></td>
<td><a href='#' onclick="return OrderBy('name')">姓名</a><span id="name"></span></td>
<td><a href='#' onclick="return OrderBy('dept')">部门</a><span id="dept"></span></td>
<td><a href='#' onclick="return OrderBy('business')">职务</a><span id="business"></span></td>
<td><a href='#' onclick="return OrderBy('area')">区域</a><span id="area"></span></td>
<td></td>
  </tr>
  <tr bgcolor="#BBBBBB"> 
<td height="5" colspan="15"></td>
  </tr>
  <?
echo "<script>$order.innerHTML = ' <img src=\"../images/".$desc."_order.gif\" width=\"7\" height=\"7\" />';</script>";
....

解决方案 »

  1.   


    查询语句:
    <?
    if(!isset($order))$order = "staff_no";
    if(!isset($desc))$desc = "ASC";
    if(!isset($page_num))$page_num = "10"; $sql = "FROM $staff_tables as s left join $dept_tables as d on d.dept_id=s.dept left join $business_tables as b on b.id=s.business WHERE 1";
    if(isset($leave)&&$leave)
    {
    $sql .= " and s.leavedate is not null";
    }
    else $sql .= " and s.leavedate is null";
    if(isset($dept_id))
    {
    if($dept_id!="0"&&$dept_id!="search")$sql .= " and s.dept='$dept_id'";
    }
    else $sql .= " and 0";
    if(isset($business_id)&& $business_id)
    {
    $sql .= " and s.business='$business_id'";
    }
    if(isset($area)&& $area)
    {
    $sql .= " and s.area like '%$area%'";
    }
    if(isset($value) && $value)
    {
    $sql .= " and ( s.name like '%$value%' or s.loginname like '%$value%'";
    if(!eregi("".$value."","JYS"))$sql .= " or s.staff_no like '%$value%'";
    $sql .= ")";
    }
    $sql .= " ORDER by s.$order $desc";

    // Search rows num .
    $query = "SELECT COUNT(*) as count ".$sql;
        $OPresult = @mysql_query($query);
        if ($OPresult)$rows = mysql_result($OPresult, 0, 'count');
    else $rows = 0;
    @mysql_free_result($OPresult); @mysql_free_result($OPresult);
    if(!$q_num || $q_num <= 0)$q_num = 1;
    $pages = ceil($rows/$page_num);
    if($q_num >= $pages)$q_num = $pages;
    $p_start = ($q_num-1)*$page_num;
    $p_end = ($q_num-1)*$page_num + $page_num;
    if($q_num == $pages) $p_end = $rows;

    $query = "SELECT s.*,d.dept_name,b.name_c as business ".$sql." LIMIT $p_start, $page_num";
    // echo $query.mysql_error();
    $result = mysql_query($query);
    ?>
      

  2.   

    http://www.brainjar.com/dhtml/tablesort/demo.html或者重新查询加order by
      

  3.   

    http://www.geocities.com/deepgrid/docs/TOC.html
      

  4.   


    to JK_10000(JK1) 
    我用的是后台排序,但前台有前台的好处啊。但若你要分页显示并要按数据库数据排序就必须后台重新查询加order by了。
      

  5.   

    awaysrain(绝对零度) 的demo是我要的效果
    给分!我已经做好分页了,所以速度上能够承受