首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP分页有关问题,求大神指导

2013-06-19 
PHP分页问题,求大神指导html head meta charsetUTF-8/head script typetext/javascript sr

PHP分页问题,求大神指导


<html> 
<head> 
<meta charset="UTF-8">
</head> 
<script type="text/javascript" src="http://localhost/jquery.js" ></script>
<script type="text/javascript" >
 
function aurl(i){
 var url = window.location.href;
 if(url.indexOf('?')>0){
   url=url.substring(0,url.indexOf('?')) ;

url=url+"?page="+i;
 document.getElementById("documentForm").action=url;
 document.getElementById("insu").click();
  }
</script>
<body    > 
<form   id="documentForm"   method="POST"> 
<p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" /> </p> 
<p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> 
</form> 

<?php
$key = $_POST["key"]; 
if($key=="")
{
  echo "请输入搜索条件";
return;
}
//取得页码
$page = @$_GET['page'];
//定义每页显示信息条数
$page_size = 10;
//当页码参数为空时,将页码设为1
if ($page == "")
{
    $page = 1;
}
$wsdl="http://pica.chalwin.com/service/JsAccessWebService.asmx?wsdl";
$client = new SoapClient($wsdl);
$param = array('NodeId'=>'1','key'=>$key,'pageIndex'=>$page,'pageSize'=>$page_size);//传参
$ret = $client->NewsSearch($param);//执行获取新闻的方法
//print_r ($ret);
if(isset($ret)&&$ret)
{
 foreach($ret->NewsSearchResult->InheritanceNews as $item) 
{   
echo "\n<table border=1 cellspacing='0' width='30%'>\n<tr>";
echo "<td>$item->Title</td>\n";
echo "</tr>";
}
}
else
{
echo 'no user';
}
//总页数
$totalPage = ceil(($item->NewsCount)/$page_size);
//上一页链接
$Prev = $page - 1;
if ($Prev < 1)
{
$Prev = 1;
}
//下一页链接
$Next = $page + 1;
if ($Next > $totalPage)
{
$Next = $totalPage;
}
//输出上一页链接
if ($page <> 1)
{
echo '<span><a href="javascript:aurl(1)">First&nbsp;</a></span>';
echo '<span><a href="javascript:aurl(' . $Prev . ')">Prev</a></span>';
}
else
{
echo '<span>First</span>';
echo '<span>Prev</span>';
}
//页码数字链接
//显示的数字个数
$pageNumber = 5;
//页码数算法
$pagebegin = $page - $pageNumber;
if ($page == 1)
{
$pageend = $pageNumber;
}
else
{
$pageend = $page + $pageNumber;
}
if ($pagebegin <= 0)
{
$pagebegin = 1;
}
if ($pageend > $totalPage)
{
$pageend = $totalPage;
}
//一次向前翻$pageNumber行
if ($page > $pageNumber)
{
echo '<span><a href="javascript:aurl('. ($page - $pageNumber) . ')"><<</a></span>';
}
//输出动态生成的页码链接
for ($i = $pagebegin; $i <= $pageend; $i++)


{
if ($i == $page)
{
echo '<span style="background:#FFCC99">' . $i . '</span>';
}
else
{
echo '<span><a href="javascript:aurl('. $i . ')">' . $i . '</a></span>';
}
}
//一次向后翻$pageNumber行
if (($totalPage - $page) > 5)
{
echo '<span><a href="javascript:aurl('. ($page + $pageNumber) . ')">>></a></span>';
}
//输出下一页链接
if ($page <> $totalPage)
{
echo '<span><a href="javascript:aurl('. $Next .')">Next</a></span>';
echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';
}
else
{
echo '<span>Next</span>';
echo '<span>Last</span>';
}
?>
</body>  
</html> 


代码如上:
初始查询结果如下:
PHP分页有关问题,求大神指导
问题1:分页显示的为啥在最后一条数据的上面呢?
问题2:点击下一页的时候 ,搜索条件没了?
PHP分页有关问题,求大神指导
问题3: 点击最后一页的时候报错了。
PHP分页有关问题,求大神指导

Ps:本人PHP初学者,搞得有点头大了~ 求大神们帮忙看下,万分感谢
[解决办法]
    if (is_array($ret->NewsSearchResult->InheritanceNews)) {
        foreach($ret->NewsSearchResult->InheritanceNews as $item) {   
            echo "\n<table border=1 cellspacing='0' width='30%'>\n<tr>";
            echo "<td>".$item->Title."</td>\n";
            echo "</tr>"."</table>";
        }
             
    }elseif(!empty($ret->NewsSearchResult->InheritanceNews)){
        //var_dump($ret->NewsSearchResult->InheritanceNews);
        $item = $ret->NewsSearchResult->InheritanceNews;
        echo "\n<table border=1 cellspacing='0' width='30%'>\n<tr>";
        echo "<td>".$ret->NewsSearchResult->InheritanceNews->Title."</td>\n";
        echo "</tr>"."</table>";
        
    }elseif (empty($ret->NewsSearchResult->InheritanceNews)) {
        echo '结果为空,请重新搜索';die();
    }


如果为空,就不往下走了。这样OK吗?


[解决办法]

引用:
好了,分页的问题搞定了,现在就是一个问题了,当带入搜索条件查询的结果为空时会报错,怎么判断他是否为空呢?if(isset($ret)&&$ret)这样拦截不到吗?

你应该输出看他返回的是什么信息才能判断啊

使用print_r($ret);exit;这样来输出看下
[解决办法]
改为 if(isset($ret->NewsSearchResult->InheritanceNews)) 

热点排行