求PHP代码分页显示数据库内容
我的代码如下:<?php$pageSize=20;//定义每页显示条数$page=isset($_GET['page'])?intval($_GET['page']):1...
我的代码如下:
<?php$pageSize = 20; //定义每页显示条数$page = isset($_GET['page']) ? intval($_GET['page']) : 1;//取得当前页数if ($page < 1) {$page = 1;}$sql="select count(*) as count from think_news order by id desc";$result = mysql_query($sql);//$record = mysql_fetch_array($result);while ($record=mysql_fetch_array($result)){ echo $record['count']; }$count = $record['count'];//这里总记录数//总页数$pageCount = ceil($count / $pageSize);/* 再次检查page */if ($page > $pageCount){$page = $pageCount;}//计算开始条数$start = ($page - 1) * $pageSize;//取得分页数据$sql="select * from think_news order by id desc limit $start, $pageSize";$conn=mysql_connect("127.0.0.1","root","") or die("服务器连接不成功!");//连接服务器mysql_select_db("db_project",$conn)or die("数据库选择不成功!");//选择数据库$sql="select * from think_news order by id desc";//定义SQL语句$result=mysql_query($sql,$conn);//执行SQL语句并把结果存在变量result中。echo "共有".mysql_num_rows($result)."条记录!<br>";//显示记录条数while ($rs=mysql_fetch_array($result)){ echo "$rs[id]"; echo "$rs[title]"; echo "$rs[content]"; echo "$rs[date_time]"; echo "$rs[update_time]"; }?>
可是预览出错图: 展开
<?php$pageSize = 20; //定义每页显示条数$page = isset($_GET['page']) ? intval($_GET['page']) : 1;//取得当前页数if ($page < 1) {$page = 1;}$sql="select count(*) as count from think_news order by id desc";$result = mysql_query($sql);//$record = mysql_fetch_array($result);while ($record=mysql_fetch_array($result)){ echo $record['count']; }$count = $record['count'];//这里总记录数//总页数$pageCount = ceil($count / $pageSize);/* 再次检查page */if ($page > $pageCount){$page = $pageCount;}//计算开始条数$start = ($page - 1) * $pageSize;//取得分页数据$sql="select * from think_news order by id desc limit $start, $pageSize";$conn=mysql_connect("127.0.0.1","root","") or die("服务器连接不成功!");//连接服务器mysql_select_db("db_project",$conn)or die("数据库选择不成功!");//选择数据库$sql="select * from think_news order by id desc";//定义SQL语句$result=mysql_query($sql,$conn);//执行SQL语句并把结果存在变量result中。echo "共有".mysql_num_rows($result)."条记录!<br>";//显示记录条数while ($rs=mysql_fetch_array($result)){ echo "$rs[id]"; echo "$rs[title]"; echo "$rs[content]"; echo "$rs[date_time]"; echo "$rs[update_time]"; }?>
可是预览出错图: 展开
展开全部
mysql_query('set names "utf8"'); //设置字符编码,以免出现中文乱码
//完整的参考代码:
<style type="text/css">
*{ font-size:12px;}
p{ text-align:center; margin-top:10px; width:300px}
p span{float:left}
p select {float:right}
</style>
<?php
/*
* 分页显示留言
*/
//包含数据库连接文件
//连接数据库
$result=mysql_connect("localhost","luck","123456");
mysql_query('set names "utf8"');
if($result){
//选择数据库
$db=mysql_select_db("contactbook");
if($db){
//获取数据总行数
$all_book_sql ="select * from address";
$result = mysql_query($all_book_sql);
$maxrows = mysql_num_rows($result);
//计算总页数
$page_size = 5; //每页显示留言数
if($maxrows%$page_size == 0){
$maxpage = (int)($maxrows/$page_size);
}else{
$maxpage = (int)($maxrows/$page_size)+1;
}
//获取当前页
if(isset($_GET['curpage'])){
$page = $_GET['curpage'];
}else{
$page=1;
}
//分段取出数据
$start = $page_size*($page-1);
$get_book_sql = "select * from address limit $start,$page_size";
//得到数据显示
$result=mysql_query($get_book_sql);
?>
<table width="779" height="24" border="1">
<tr><th colspan="6">个人通讯录</th></tr>
<tr>
<td width="75" align="center">编号</td>
<td width="88" align="center">姓名</td>
<td width="73" align="center">性别</td>
<td width="114" align="center">电话</td>
<td width="131" align="center">邮箱</td>
<td width="258" align="center">住址</td>
</tr>
<?php
while($row = mysql_fetch_array($result)){
?>
<tr>
<td width="75" align="center"><?php echo $row["id"] ?></td>
<td width="88" align="center"><?php echo $row["name"] ?></td>
<td width="73" align="center"><?php echo $row["sex"] ?></td>
<td width="114" align="center"><?php echo $row["phone"] ?></td>
<td width="131" align="center"><?php echo $row["email"] ?></td>
<td width="258" align="center"><?php echo $row["address"] ?></td>
</tr>
<?php
}
?>
</table>
<?php
echo "<p><span>共 $maxpage 页 ";
echo "每页 $page_size 项 ";
//设置上一页
if($page>1){
$prepage=$page-1;
echo "<a href='?curpage=$prepage'>上一页</a> ";
}
//设置下一页
if($page<$maxpage){
$nextpage=$page+1;
echo "<a href='?curpage=$nextpage'>下一页</a> ";
}
echo " 第 $page 页";
echo " </span><select name='curpage'>";
for($i=1;$i<=$maxpage;$i++){
if($i==$page)
echo "<option value='".$i."' selected='selected'>".$i."</option>";
else
echo "<option value='".$i."' >".$i."</option>";
}
echo "</select></p>";
}
}
?>
展开全部
你确定你的$sql 能查出来东西吗?先在mysql执行一下你的sql能不能获取东西。
更多追问追答
追问
select count(*) as count from think_news order by id desc 这句可以
select * from think_news order by id desc也可以
中间那句不能再Mysql里执行吧。。
追答
你第一个sql是个count,你数据库有count这个字段?而且你链接数据库在第一个sql执行之后,他会执行成功吗?你在开始获取行的时候应该这样写:
/**
*一定要把链接数据库的操作放着最上面
*/
$conn=mysql_connect("127.0.0.1","root","") or die("服务器连接不成功!");//连接服务器
mysql_select_db("db_project",$conn)or die("数据库选择不成功!");//选择数据库
$sql="select * from think_news order by id desc";
$result = mysql_query($sql);
$count = mysql_num_rows($result);//获取总行数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询