注:因为ajax不熟悉
光在test.php
里面加<form method=get><input type=text name=page><input type=submit value=跳转></form>
这样不行啊
光在test.php
里面加<form method=get><input type=text name=page><input type=submit value=跳转></form>
这样不行啊
<?
session_start();
include("linkdb.inc.php");
//$num为总记录数,$perpage为每页显示数,
function multi($num, $perpage, $curpage, $mpurl, $maxpages = 0) {
$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
if($num > $perpage) {
$page = 5;
$offset = 2;$realpages = ceil($num / $perpage);
$pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;$from = $curpage - $offset;
$to = $curpage + $page - $offset - 1;
if($page > $pages) {
$from = 1;
$to = $pages;
} else {
if($from < 1) {
$to = $curpage + 1 - $from;
$from = 1;
if(($to - $from) < $page && ($to - $from) < $pages) {
$to = $page;
}
} elseif($to > $pages) {
$from = $curpage - $pages + $to;
$to = $pages;
if(($to - $from) < $page && ($to - $from) < $pages) {
$from = $pages - $page + 1;
}
}
}$multipage = ($curpage - $offset > 1 && $pages > $page ? '<td> <a href="'.$mpurl.'page=1"><IMG height=10 src="img/previous.jpg" width=15 border=0> </td>' : '').
($curpage > 1 ? '<td> <a href="'.$mpurl.'page='.($curpage - 1).'"><IMG height=10 src="img/previous.jpg" width=15 border=0></a> </td>' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $curpage ? '<td > <SPAN class=boldRed>'.$i.'</SPAN> </td>' :
'<td> <a href="'.$mpurl.'page='.$i.'">'.$i.'</a> </td>';
}$multipage .= ($curpage < $pages ? '<td> <a href="'.$mpurl.'page='.($curpage + 1).'"><IMG height=10 src=img/next.jpg width=15 border=0></a> </td>' : '').
($curpage + $page - $offset <= $pages ? '<td> <a href="'.$mpurl.'page='.$pages.'"><IMG height=10 src=img/next.jpg width=15 border=0></a> </td>' : '');/*$multipage = $multipage ? '<table cellspacing="0" cellpadding="0" border="0"><tr><td height="3"></td></tr><tr><td>'.
'<table cellspacing="'.INNERBORDERWIDTH.'" cellpadding="2" ><tr bgcolor="'.fffff0.'" ><td > '.$num.' </td><td > '.$curpage.'/'.$realpages.' </td>'.$multipage.'</tr></table>'.
'</td></tr><tr><td height="3"></td></tr></table>' : '';*/$multipage = $multipage ? '<TABLE cellSpacing=0 cellPadding=5 align=center bgColor=#ffffff border=0><TBODY><TR><TD width=180>共'.$realpages.'页/'.$num.'项结果</TD><TD></TD><TDalign=middle>'.$multipage.'</TD><TD></TD></TR></TBODY></TABLE>' : '';
}
return $multipage;
}?>
<table width="710" border="0" align="center" cellpadding="2" cellspacing="0">
<?
/*
位址 Address
餐厅 RestaurantName
菜系 CategoryCode
城区 CityZoneCode
消费 AverageConsumption
折扣 Discount
餐厅 RestaurantName
座位 Capacity
街道 StreetCode
*/
/*
if($Address==""){
$name="";
}else{
$name="addr like '%$Address%'";
} //餐厅
if($RestaurantName==''){
$Restaurant="";
}else{
$Restaurant="name like '%$RestaurantName%'";
}
*/
//echo $Restaurant;
//菜系
$codenum=count($CategoryCode);
for($aa=0;$aa<$codenum;$aa++){
$Category.=$CategoryCode[$aa].",";
}
$Category=substr($Category,0,-1);
if($codenum==0){
$goryCode="dishmenu like '%$Category%'";
}elseif($codenum==1){
$goryCode="dishmenu like '%$Category%'";
}elseif($codenum>1){
$goryCode="(dishmenu rlike '".str_replace(",","' or dishmenu rlike '",$Category)."')";
}
//echo $goryCode;
//城区
$num1=count($StreetCode);
for($i=0;$i<$num1;$i++){
$Street.=$StreetCode[$i].",";
}
$Street=substr($Street,0,-1);
if($CityZoneCode==''&&$Street==''){
$CityZoneCode="cityzone like '%$CityZoneCode%'";
}elseif($CityZoneCode<>''&&$Street==''){
$CityZoneCode="cityzone like '%$CityZoneCode%'";
}elseif($CityZoneCode<>''&&$Street<>''){
$CityZoneCode="(streetcode = '".str_replace(",","' or streetcode = '",$Street)."')";
}
//echo $CityZoneCode;
if($AverageConsumption==''&&$AverageConsumption_to==''){
$Average="consume<2000";
}elseif($AverageConsumption<>''&&$AverageConsumption_to==''){
$ave=explode(',',$AverageConsumption);
$Average="consume>=$ave[0] and consume<=$ave[1]";
}elseif($AverageConsumption<>''&&$AverageConsumption_to<>''){
$Average="consume>=$AverageConsumption and consume<=$AverageConsumption_to";
}
//echo $Average;
/**/
//折扣
if(($Discount=='')&&($Discount_to=='')){
$Discount='discount<=100'; }elseif($Discount<>''&&$Discount_to<>''){
$Discount="discount>$Discount and discount<$Discount_to"; }elseif($Discount<>''&&$Discount_to==''){
$Discount="discount<=$Discount";
}
//座位
if($Capacity==''){
$Capacity='renshu<2000';
}else{
$Capacity="renshu>=$Capacity and renshu<=$Capacity_to";
}
//查询
$str10="select id from restaurant where addr like '%$Address%' and name like '%$RestaurantName%' and ".$goryCode." and ".$CityZoneCode." and ".$Average." and ".$Discount." and ".$Capacity."";
$res10=mysql_query($str10);
$row10=mysql_num_rows($res10);
$num=$row10;
$perpage=20;
$tot=$perpage*($page-1);
if($tot<0){
$tot=0;
}else{
$tot=$tot;
}
$curpage=$page;
$mpurl='search.php?id=$id';
$str="select * from restaurant where addr like '%$Address%' and name like '%$RestaurantName%' and ".$goryCode." and ".$CityZoneCode." and ".$Average." and ".$Discount." and ".$Capacity." limit $tot,$perpage";
$res = mysql_query($str);$bgcolor="ffffff";
while($row = mysql_fetch_array($res)){ echo " <tr bgcolor='#".$bgcolor."'><td width=239 height=28> <a href=dining_room.php?id=$row[id] target=_blank>$row[name]</a></td><td width=75 align=center>$row[discount]%</td><td width=121 align=center>$row[consume]元</td><td width=259>$row[addr] </td></tr>";
$bgcolor=="ffffff"?$bgcolor="f6f6f6":$bgcolor="ffffff";}
?>
</table>
<br>
<? echo multi($num, $perpage, $curpage, $mpurl, $maxpages = 0);
?>
</td>
<td width="1" background="img/bg_11.jpg"></td>
</tr>
<tr>
<td background="img/bg_14.jpg"></td>
<td height="5" background="img/bg_16.jpg"></td>
<td background="img/bg_1818.jpg"></td>
</tr>
</table>
<br>
</td>
</tr>
</table>
你就弄个input text,里面输入的值$_GET下来,赋给当前页不就行了。
建议用一些人家写好的分页类,如pear的pager,自己写的乱七八糟容易存在bug。
只要加上这一句不就可以了,
下面已经有最大页和最小页1的判定了,加上这一句就应该可以了!
{
$pagestr = ' ';
global $_SERVER;
global $_GET;
if(isset($_GET[$pagename]))
{
$pagenow = $_GET[$pagename];
}
else
{
$pagenow = 1;
}
$url=$_SERVER["REQUEST_URI"]; //取得当前的URL
$urlparse = parse_url($url); //取得URL的分析数组
if(isset($urlparse['query']))
{
//清除原来URL上的分页数据
$urlquery = ereg_replace('(^|&)'.$pagename.'='.$pagenow,'',$urlparse['query']);
$url=str_replace($urlparse['query'],$urlquery,$url); //连接新的分页数据
if($urlquery)
{
$url.='&'.$pagename.'=';
}
else
{
$url.=$pagename.'=';
}
}
else //原来没有任何数据的URL连接新的分页数据
{
$url.='?'.$pagename.'=';
} //页码显示处理
$begin = $pagenow-4;
$over = $pagenow+5; $pageall = ceil($rowall/$pagerow); if($pageall<=10)
{
$begin = 1;
$over = $pageall;
}
else
{
if($pagenow <= 5)
{
$begin = 1;
$over = 10;
} if($pagenow >= ($pageall-5))
{
$begin = $pageall-9;
$over = $pageall;
} if(($pagenow > 5) && ($pagenow < ($pageall-5)))
{
$begin = $pagenow-4;
$over = $pagenow+5;
}
} if($begin<1)
{
$begin = 1;
} if($over>$pageall)
{
$over = $pageall;
} $pagestr .= '<a href='.$url.'1><<</a> '; for($i=$begin;$i<=$over;$i++)
{
if($i == $pagenow)
{
$pagestr .= $i.' ';
}
else
{
$pagestr .= '<a href='.$url.$i.'>'.$i.'</a> ';
} } $pagestr .= '<a href='.$url.$pageall.'>>></a> '; $first = ($pagenow-1)*$pagerow;
$last = $pagerow;
$pagevalue['pagelink'] = $pagestr;
$pagevalue['first'] = $first;
$pagevalue['last'] = $last; return $pagevalue;
}
if(url==''){
url = form1.page.value;
}
if(url=='') {
alert('请填入需要跳转的页码');
return false;
}
document.getElementById(obj).innerHTML="正在读取数据...";
send_request(url);
reobj=obj;
}<form name="form1" method='get' onClick="return dopage();"><input type=text name=page><input type=submit value=跳转></form>
在"输入页码跳转",调用时指定第一个参数就可以了,
比如: dopage('result');