关于分页显示 和搜索的PHP问题 高手来 20

我实在要疯了,这段代码搜索没问题~可是分页他就是不分~我实在不知道该怎么弄了,脑袋都已经混乱了~请高手帮我改改吧~~搜索后超过8条数据就自动分页,我自己写的代码GET数值... 我实在要疯了,这段代码搜索没问题~可是分页他就是不分~我实在不知道该怎么弄了,脑袋都已经混乱了~请高手帮我改改吧~~搜索后超过8条数据就自动分页,我自己写的代码GET数值他就是不传递~实在不知道怎么回事
<?php
$key = $_POST["keyword"];
$key = explode(" ", $_POST["keyword"]);
$pagesize = 8;
if($key[0]!==""){
if($key[1] == ""){
$sql = "select * from books where name like '%$key[0]%' or uid like '%$key[0]%' or cnn like '%$key[0]%' order by time desc";
}else{
$sql = "select * from books where name like '%$key[0]%' or name like '%$key[1]%' or uid like '%$key[0]%' or uid like '%$key[1]%' or cnn like '%$key[0]%' or cnn like '%$key[1]%' order by time desc";
}
$rs = mysql_query($sql,$cnn);
$num = mysql_num_rows($rs);
$page_count = ceil($num/$page_size);

$pageval=$_GET[page];
if($pageval=="")
{
$pageval = 1;
}
else
{
$pageval = (int)$pageval;
if($pageval<=0)
{
$pageval= 1;
}
elseif ($p>$page_count)
{
$pageval = $page_count;
}
}
$page=($pageval-1)*$pagesize;
}
else{
echo "<div class='on_sea'>请输入关键字</div>";
}
if($key[0]!==""){
if($key[1] == ""){
echo $sql = "select * from books where name like '%$key[0]%' or uid like '%$key[0]%' or cnn like '%$key[0]%' order by time desc limit {$page},{$pagesize}";
}else{
$sql = "select * from books where name like '%$key[0]%' or name like '%$key[1]%' or uid like '%$key[0]%' or uid like '%$key[1]%' or cnn like '%$key[0]%' or cnn like '%$key[1]%' order by time desc limit {$page},{$pagesize}";
}
}
?>
<div id="keyword">
<span class="key_1">检索关键字</span>[<span class="key_2"><?php echo $key[0]." ".$key[1]; ?></span>][<span class="key_3">按最新书籍排列</span>]
</div>

<div id="sea">
<?php
for($i=0;$i<$num;$i++){
?>
<div class="search">
<div><a href="#"><span class="size_1"><?php echo mysql_result($rs,$i,"name"); ?></span></a><span class="mar_le"><span class="color_s">/</span>作者:</span><a href="#"><span class="size_2"><?php echo mysql_result($rs,$i,"uid"); ?></span></a><span class="mar_le"><span class="color_s">/</span>类型:</span><a href="#"><span class="size_3"><?php echo mysql_result($rs,$i,"class"); ?></span></a></div>
<div class="margin_t_b"><span class="size_4">内容简介:</span><?php echo mysql_result($rs,$i,"cnn"); ?></div>
<div class="margin_t_b"><span class="size_4">最近更新:</span>dddddddd</div>
<div class="margin_t_b"><span class="size_4">更新时间:</span><?php echo mysql_result($rs,$i,"time"); ?></div>
<hr / class="hr">
</div>
<?php
}
if($num > $pagesize){
if($pageval<=1)$pageval=1;
echo "共 $num 条".
" <a href=search1.php?page=".($pageval-1).">上一页</a> <a href=search1.php?page=".($pageval+1).">下一页</a>";
}
mysql_close($cnn);
?>
1楼能说的详细一些吗?我实在不太会弄了~才用了2个月PHP~~面向对象都令不清楚,帮忙帮到底吧
展开
 我来答
sheeago
2010-07-19
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
这边有个分页显示的,你看看吧.

<?php
if(isset($_GET['page'])) //由GET方法获得页面传入当前页数的参数
{
$page = $_GET['page'];
}
else
{
$page = 1;
}
$page_size =11;
@mysql_query();
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("doc_management", $con);
mysql_query("set names utf8");
$sql="select * from doc where (1=1)";
$result=mysql_query($sql,$con);
@$num=mysql_num_rows($result);
if($num)
{
if($num < $page_size)
$page_count = 1
; if($num % $page_size)
{
$page_count = (int)($num/$page_size) + 1;
}
else
{
$page_count = $num/$page_size;
}
}
else
{
$page_count = 0;
}
//翻页链接
$turn_page = '';
if($page == 1)
{
$turn_page .= '首页 | 上一页 | ';
}
else
{
$turn_page .= '<a href="deletedoc.php?page=1" target="qq"> 首页</a> | <a href="deletedoc.php?page='.($page-1).'" target="qq">上一页</a> | ';
}
if($page == $page_count || $page_count == 0)
{
$turn_page .= '下一页 | 尾页';
}
else
{
$turn_page .= '<a href="deletedoc.php?page='.($page+1).'" target="qq">下一页</a> | <a href="deletedoc.php?page='.$page_count.'" target="qq">尾页</a>';
}

$sql = $sql." limit ".($page-1)*$page_size.", ".$page_size;
$result = mysql_query($sql);

echo "共有";
echo "$num";
echo " 条文档信息。";
echo "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"1\">";
echo "<tr><td>文档名称</td><td>文档编号</td><td>文档存放地址</td><td>文档所属部门</td><td>文档负责人</td><td>文档备注信息</td><td>存档日期</td></tr>";
echo "<tr> <td colspan=\"18\"><hr> </td></tr>";

while(@$row=mysql_fetch_array($result))
{
$i==0;
$i%2==0?$color="#66FFFF":$color="white";
echo "<tr bgcolor= '$color'>";
echo "<td>".$row[doc_name]."</td>";
echo "<td>".$row[doc_no]."</td>";
echo "<td>".$row[doc_addr]."</td>";
echo "<td>".$row[doc_bm]."</td>";
echo "<td>".$row[doc_resp]."</td>";
echo "<td>".$row[doc_bz]."</td>";
echo "<td>".$row[doc_cddate]."</td>";
echo "<td><a href='operation/docdel.php?id=".$row[doc_no]."'target='qq'>删除</a></td>";
echo "</tr>";
$i++;
}
echo $turn_page;
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fanglor
2010-07-18 · TA获得超过285个赞
知道答主
回答量:94
采纳率:0%
帮助的人:50.3万
展开全部
$sql = "select * from books where name like '%$key[0]%' or name like '%$key[1]%' or uid like '%$key[0]%' or uid like '%$key[1]%' or cnn like '%$key[0]%' or cnn like '%$key[1]%' order by time desc limit {$page},{$pagesize}";

在这后台,你没有执行该SQL语句 ,同时 你也没有while循环,mysql_fetch_assoc ,把内容取出来,所以你得不到内容。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
52wula
2010-07-19 · TA获得超过1252个赞
知道小有建树答主
回答量:938
采纳率:0%
帮助的人:630万
展开全部
sql语句里最好不要带这种的 key[0] 你想将key[0]赋值给一个变量 再将变量放到sql语句中试试 我以前也遇到过

你的代码挺混乱的 呵呵 也没有注释 你写的这貌似是两个文件吧??

再有用while试试 不要用for mysql_fetch_row
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
娇娇君主
2010-07-28 · TA获得超过119个赞
知道答主
回答量:35
采纳率:0%
帮助的人:5.9万
展开全部
$sql = "select * from books where name like '%$key[0]%' or name like '%$key[1]%' or uid like '%$key[0]%' or uid like '%$key[1]%' or cnn like '%$key[0]%' or cnn like '%$key[1]%' order by time desc limit {$page},{$pagesize}";

在这后台,你没有执行该SQL语句 ,同时 你也没有while循环,mysql_fetch_assoc ,把内容取出来,所以你得不到内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
itren8
2010-07-20 · 超过10用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:18.7万
展开全部
给你个建议:我们写分页,搜索,都放到一个类中,直接调用,不用每次都写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式