找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4627|回复: 5

php读取my sql怎样分页呢?

  [复制链接]
发表于 2015-8-23 14:25:21 | 显示全部楼层 |阅读模式 来自 中国–贵州–贵阳
本次悬赏总金额:10 金币 | 剩余悬赏金额:0 金币
本次悬赏到期时间: 2016-10-31 14:22 | 本悬赏贴已经到期,不再接受回复。
快来加入[悬赏团队],每次获得楼主奖励时可获得系统额外20金币的系统奖励。

只允许悬赏会员本人发放悬赏金币 | 只允许悬赏会员本人收回悬赏金币 | 最多悬赏人数:10人
还没有会员获得悬赏奖励,加油,快来争头奖!
本问题的悬赏已经结束!

我安装了社区音乐这个插件,但是我想用的是音乐外链,供论坛帖子中背景音乐和QQ空间做背景音乐。但是社区音乐这个插件不支持外链,于是我重新设计了一个简易的插件,专门读取社区音乐的数据。初步达到要求,我是小白。接下来如果我音乐数据成百上千了,这里我该怎样写分页代码呢?求大神指导。谢谢。我写的代码如下:
  1. <?php
  2. include template('wz_music_url:index');
  3. echo "<table style=width:100%;font-size:15px; cellpadding=2 cellspacing=0 align=left border=1 bordercolor=#60D978>";
  4. echo "<tr bgcolor=#FFFFFF>";
  5. echo "<td bgcolor=#FFFFFF><center><strong>会员分享的音乐外链</strong></center></td>";
  6. echo "</tr>";
  7. echo "<table />";
  8. echo "<table style=width:100%;font-size:13px; cellpadding=2 cellspacing=2 align=left border=1 bordercolor=#60D978>";
  9. echo "<tr bgcolor=#FFFFFF>";
  10. echo "<td bgcolor=#FFFFFF style=width:5%;>歌曲ID</td>";
  11. echo "<td bgcolor=#FFFFFF style=width:25%;>  歌曲名称</td>";
  12. echo "<td bgcolor=#FFFFFF style=width:70%;>  歌曲外链地址(可用于论坛和QQ空间的背景音乐。)</td>";
  13. echo "</tr>";
  14. echo "<table />";
  15. if (!defined('IN_DISCUZ')) {
  16.     exit('Access Denied');
  17. }
  18. require './source/plugin/wz_music_url/global.inc.php';

  19. $result = mysql_query("select * from pre_wz_music_list") or die('出错了'.mysql_error);
  20. $query = mysql_query("SELECT * FROM pre_wz_music_list");
  21. while($r = mysql_fetch_array($query)){
  22. echo "<table style=width:100%;font-size:13px; cellpadding=2 cellspacing=2 align=left border=1 bordercolor=#60D978>";
  23. while( $row = mysql_fetch_array($result) )
  24. /*逐行获取结果集中的记录,得到数组row */
  25. {  
  26. /*数组row的下标对应着数据库中的字段值 */
  27. $id = $row['id'];
  28. $name = $row['name'];
  29. $** = $row['valve'];
  30. $size = $row['size'];
  31. echo "<tr bgcolor=#FFFFFF>";
  32. echo "<td bgcolor=#FFFFFF style=width:5%;><center>$id</center></td>";
  33. if ($size<"1") {
  34.   echo "<td bgcolor=#FFFFFF style=width:25%;>  <a  target='_blank'>

  35. $name</a></td>";
  36.   echo "<td bgcolor=#FFFFFF style=width:70%;>  $**</td>";
  37. } else {
  38.   echo "<td bgcolor=#FFFFFF style=width:25%;>  <a  target='_blank'>

  39. $name</a></td>";
  40.   echo "<td bgcolor=#FFFFFF style=width:70%;>  http://bbs.doukouwx.com/$**</td>";
  41. }
  42. echo "</tr>";
  43. }
  44. echo "<table />";
  45. }
  46. echo "<table style=width:100%;font-size:15px; cellpadding=2 cellspacing=0 align=left border=1 bordercolor=#60D978>";
  47. echo "<tr bgcolor=#FFFFFF>";
  48. echo "<td bgcolor=#FFFFFF><center><strong>上一页   下一页</strong></center></td>";
  49. echo "</tr>";
  50. echo "<table />";
  51. echo "<hr>";
  52. include template('wz_music_url:indexfooter');
  53. ?>
复制代码
我想做分页处理。请问代码应该怎么

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

 楼主| 发表于 2015-8-23 14:30:53 | 显示全部楼层 来自 中国–贵州–贵阳
求解答,在线等。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

发表于 2015-8-23 15:36:48 | 显示全部楼层 来自 中国–河南–新乡
已帮忙推送到q群内 求助

评分

参与人数 1金币 +2 收起 理由
抢楼评分专号 + 2 很幸运,你获得了抢楼奖励!

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

发表于 2015-9-18 16:48:22 | 显示全部楼层 来自 中国–陕西–西安
路过,不懂,帮顶。-----雷锋。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

发表于 2015-9-19 11:15:11 | 显示全部楼层 来自 中国–河北–衡水
求解答,在线等。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

发表于 2015-10-13 17:17:11 | 显示全部楼层 来自 中国–河南–平顶山
弱弱的问一下,楼主能看懂PHP语言吗?我也不是很懂,现在正在学习中,但是能够个人感觉其实分页显示应该是通过一个row循环输出,然后在定义输出几条,这样应该可以实现分页显示了。前提可以定义一个函数,用来调用数据库数据,比如名字叫做   DBHelper.php,代码如下:
<?php
//定义一个链接类
class Connection
{
public $strConn="";
public function Conn() //链接数据库方法
{
  $this->strConn=mysql_connect("localhost","root","123");
  mysql_select_db("db_database19",$this->strConn);
  mysql_query("set names GB2312");
}
}
?>
然后在你需要用到调用的PHP页面中加入row循环和判定,代码如下:
<?php
include 'DBHelper.php'; //调用数据库连接类包

class page //定义分页类
{
public function ChangePage($myPage) //定义一个分页方法,当前页数的形参$myPage
{
  $conn=new Connection();
  $conn->Conn();
  //调用数据库连接类
  
  $page=$myPage;
  if(is_numeric($page))
  {
   $offerPage=($page-1)*4; //判断当前页从第几条数据开始读取
   $sql=mysql_query("select bigclass from tb_object limit $offerPage,4",$conn->strConn);
   $row=mysql_fetch_object($sql);
   do {
    echo $row->bigclass."<br/>";
   }while ($row=mysql_fetch_object($sql));
  }
  mysql_free_result($sql);
  mysql_close($conn->strConn);
}
}

if ($_GET['page']!="")
{
$p=new page();
$p->ChangePage($_GET['page']);
}
else //初始化页面的数据,首页显示四行数据
{
$p=new page();
$p->ChangePage(1);
}
?>
<?php echo "<br/><br/>"; ?>
<?php
class PageSum
{  
public function DataCount()
{
  $conn=new Connection();
  $conn->Conn();
  //调用数据库连接类
  
  $sqlQuery=mysql_query("select count(*) as total from tb_object",$conn->strConn);
  $sum=mysql_result($sqlQuery,0,total); //统计当前表中有几行数据
  mysql_close($conn->strConn);
  return $this->countPages=ceil($sum/4); //返回一个整数,计算需要多少页来容纳当前表中数据
}
}
$p2=new PageSum();
$count=$p2->DataCount();
//使用for循环,输出超级链接
for ($i = 1; $i <= $count; $i++) {
echo "<a href=index.php?page=".$i.">第 $i 页</a> ";
}
?>
这个方法是我学习的课程里面老师笔记里面提到的,我没有试过,楼主可以试一下

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-28 20:35 , Processed in 0.076117 second(s), 17 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表