麻烦大家帮我检查一下,我的搜索分页哪儿出了问题?
// 提交过来,获取到的条数和页数是正确的,按下一页的时候,变成了数据库全部信息分页了,帮我改改,谢谢
<?php
$city=$_GET[city];
$quxian= $_GET[quxian];
$lx= $_GET[lx];
$gongqiu= $_GET[gongqiu];
$spmj= $_GET[spmj];
$cont= $_GET[cont];
$sql = 'select * from new ';
if ( $spmj != '商铺面积' ){
$sql .= "where mj $spmj" ;
}
if ( $city != '' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' city like "%'.$city.'%" ';
}
if ( $quxian != '' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' quxian like "%'.$quxian.'%" ';
}
if ( $lx != '商铺类型' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' lx like "%'.$lx.'%" ';
}
if ( $gongqiu!= '供求方式' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' gongqiu like "%'.$gongqiu.'%" ';
}
if ( $cont!= '' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' cont like "%'.$cont.'%" ';
}
$result = mysql_query($sql);
echo $count = mysql_num_rows($result);
$Page_size=3;
$page_count = ceil($count/$Page_size);
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}else {
$page=$_GET['page'];
}
$page_len= 3;
$max_p=$page_count;
$pages=$page_count;
//判断当前页码
$offset=$Page_size*($page-1);
echo $result =$sql."limit $offset,$Page_size ";
$result=mysql_query($result);
while ($row=mysql_fetch_array($result)) {
if($result){
echo "<div id='xs'>";
// echo "<div id='im' >";
//echo "<img src=$row[img]>";
//echo "</div>";
echo "<div id='title'>";
echo "<a href=number.php?id=$row[id]>";
echo $row[title]."</a>";
echo ' '."<span style='color:#5959FF'>".$row[ns]."</span><br>";
echo substr($row[cont],0,200)."<br>"."<span style='color:#5959FF'>".$row[quxian]."</span>".$row[lx].' '.$row[time];
echo "</div>";
echo "<div id='gr'>";
echo "<li>".$row[q].$row[dw]."</li>";
echo "<li>".$row[mj].㎡."</li>";
echo "</div>"."</div>";
}
}
?>
<?php
$page_len = ($page_len%2)?$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2;//页码个数左右偏移量
$key='<div class="page">';
// $key.="<span>$page/$pages</span> "; //第几页,共几页
if($page!=1){
//$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=1\">第一页</a> "; //第一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\"><上一页</a>"; //上一页
}else {
// $key.="第一页 ";//第一页
// $key.="上一页"; //上一页
}
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$max_p = $page_len;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p = $page+$pageoffset;
}
}
}
$init=1;
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.='<b>'.$i.'</b>';
} else {
$key.=" <a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">[".$i."]</a> ";
}
}
if($page!=$pages){
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页></a>";//下一页
//$key.="<a href=\"".$_SERVER['PHP_SELF']."?page={$pages}\">最后一页</a>"; //最后一页
}else {
// $key.="下一页 ";//下一页
// $key.="最后一页"; //最后一页
}
$key.='</div>';
?>
<?php echo $key?>
[解决办法]
<?php
$city=$_GET[city];
$quxian= $_GET[quxian];
$lx= $_GET[lx];
$gongqiu= $_GET[gongqiu];
$spmj= $_GET[spmj];
$cont= $_GET[cont];
$sql = 'select * from new ';
if ( $spmj != '商铺面积' ){
$sql .= "where mj $spmj" ;
}
if ( $city != '' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' city like "%'.$city.'%" ';
}
if ( $quxian != '' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' quxian like "%'.$quxian.'%" ';
}
if ( $lx != '商铺类型' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' lx like "%'.$lx.'%" ';
}
if ( $gongqiu!= '供求方式' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' gongqiu like "%'.$gongqiu.'%" ';
}
if ( $cont!= '' ){
$sql .= ( preg_match('/where/' , $sql ) ? ' and ': ' where ' ) . ' cont like "%'.$cont.'%" ';
}
$result = mysql_query($sql);
echo $count = mysql_num_rows($result);
$Page_size=3;
$page_count = ceil($count/$Page_size);
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}else {
$page=$_GET['page'];
}
$page_len= 3;
$max_p=$page_count;
$pages=$page_count;
unset($_GET['page']);
$search = http_build_query($_GET);
//判断当前页码
$offset=$Page_size*($page-1);
echo $result =$sql."limit $offset,$Page_size ";
$result=mysql_query($result);
while ($row=mysql_fetch_array($result)) {
if($result){
echo "<div id='xs'>";
// echo "<div id='im' >";
//echo "<img src=$row[img]>";
//echo "</div>";
echo "<div id='title'>";
echo "<a href=number.php?id=$row[id]>";
echo $row[title]."</a>";
echo ' '."<span style='color:#5959FF'>".$row[ns]."</span><br>";
echo substr($row[cont],0,200)."<br>"."<span style='color:#5959FF'>".$row[quxian]."</span>".$row[lx].' '.$row[time];
echo "</div>";
echo "<div id='gr'>";
echo "<li>".$row[q].$row[dw]."</li>";
echo "<li>".$row[mj].㎡."</li>";
echo "</div>"."</div>";
}
}
?>
<?php
$page_len = ($page_len%2)?$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2;//页码个数左右偏移量
$key='<div class="page">';
// $key.="<span>$page/$pages</span> "; //第几页,共几页
if($page!=1){
//$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=1\">第一页</a> "; //第一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."?$search&page=".($page-1)."\"><上一页</a>"; //上一页
}else {
// $key.="第一页 ";//第一页
// $key.="上一页"; //上一页
}
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$max_p = $page_len;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p = $page+$pageoffset;
}
}
}
$init=1;
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.='<b>'.$i.'</b>';
} else {
$key.=" <a href=\"".$_SERVER['PHP_SELF']."?$search&page=".$i."\">[".$i."]</a> ";
}
}
if($page!=$pages){
$key.="<a href=\"".$_SERVER['PHP_SELF']."?$search&page=".($page+1)."\">下一页></a>";//下一页
//$key.="<a href=\"".$_SERVER['PHP_SELF']."?$search&page={$pages}\">最后一页</a>"; //最后一页
}else {
// $key.="下一页 ";//下一页
// $key.="最后一页"; //最后一页
}
$key.='</div>';
?>
<?php echo $key?>