求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]"; }?>
可是预览出错图:
展开
 我来答
lsh418095591
2013-06-24 · 超过14用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:27.3万
展开全部
 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 页&nbsp;&nbsp;";
  echo "每页 $page_size 项&nbsp;&nbsp;";
  //设置上一页
  if($page>1){
   $prepage=$page-1;
   echo "<a href='?curpage=$prepage'>上一页</a>&nbsp;&nbsp;";
  }
  //设置下一页
  if($page<$maxpage){
   $nextpage=$page+1;
    echo "<a href='?curpage=$nextpage'>下一页</a>&nbsp;&nbsp;";
  }
  echo "&nbsp;&nbsp;第 $page 页";
  echo "&nbsp;&nbsp;</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>";
  
  
  }
 }
 
?>
cxqmvp
2013-06-24 · TA获得超过294个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:107万
展开全部
你确定你的$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);//获取总行数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式