我是做asp的,在自学php
我使用的adodb链接的mysql数据库 但是不会分页,希望有会的高手帮忙指点下
我想用adodb读取数据 然后用table输出 分页显示
哪位高手能帮下忙
或者哪位高手有会使用php内置mysql链接函数写出来分页显示代码的帮忙指点一下
不胜感激!
我使用的adodb链接的mysql数据库 但是不会分页,希望有会的高手帮忙指点下
我想用adodb读取数据 然后用table输出 分页显示
哪位高手能帮下忙
或者哪位高手有会使用php内置mysql链接函数写出来分页显示代码的帮忙指点一下
不胜感激!
解决方案 »
- alipay 查询订单信息 api
- phpMyAdmin和www下的文件都都不开
- PHP关于文件上传下载的乱码问题
- 请问开源的哪个多国语言结构做得比较好?
- 帮忙
- 【求指点】自学PHP,光盘赠送项目无法正常运行
- left 菜单只在只在left菜单下跳转
- 请教fopen函数的问题,解决马上结贴,谢谢!
- 动态网页与数据库的运行时连接和设计时连接有何不同?
- PHP的CURL扩展的 curl_setopt() 选项中,CURLOPT_COOKIEFILE,为什么没有读取cookie.txt文件中的cookie?
- 如何获取不断变换的<input id>的id值
- 页面A.PHP提交到面面B.PHP时如何让B.PHP页面变量不丢失?
很简单的使用方法。分页需要分页函数,uchome里面有一个分页函数在 source/function_common.php 里面,
可以自己写一个分页函数。function fenye($fenyeurl,$page,$totalnum,$numperpage){
//计算出分页的HTML代码
$html = '';
for(;;;){
$html .= '';
}
return $html;
}
$page = 1;
if (!$url) {
$url = $_SERVER["REQUEST_URI"];
} //URL分析:
$parse_url = @parse_url($url);
$url_query = $parse_url["query"]; //单独取出URL的查询字串
if ($url_query) {
$url_query = ereg_replace("(^|&)page=$page", "", $url_query);
$url = str_replace($parse_url["query"], $url_query, $url);
if ($url_query)
$url .= "&page";
else
$url .= "page";
} else {
$url=$_SERVER['PHP_SELF'];
$url .= "?page";
}
$lastpg = ceil($totle / $displaypg); //最后页,也是总页数
if($_GET[page]){
$page=$_GET[page];
}
$page = min($lastpg, $page);
$prepg = $page -1; //上一页
$nextpg = ($page == $lastpg ? 0 : $page +1); //下一页
$firstcount = ($page -1) * $displaypg; //开始分页导航条代码:
$pagenav = "显示第 <B>" . ($totle ? ($firstcount +1) : 0) . "</B>-<B>" . min($firstcount + $displaypg, $totle) . "</B> 条记录,共 $totle 条记录"; //如果只有一页则跳出函数:
if ($lastpg <= 1)
return false; $pagenav .= " <a href='$url=1'>首页</a> ";
if ($prepg)
$pagenav .= " <a href='$url=$prepg'>前页</a> ";
else
$pagenav .= " 前页 ";
if ($nextpg)
$pagenav .= " <a href='$url=$nextpg'>后页</a> ";
else
$pagenav .= " 后页 ";
$pagenav .= " <a href='$url=$lastpg'>尾页</a> "; //下拉跳转列表,循环列出所有页码:
$pagenav .= " 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for ($i = 1; $i <= $lastpg; $i++) {
if ($i == $page)
$pagenav .= "<option value='".$i."' selected>".$i."</option>\n";
else
$pagenav .= "<option value='".$i."'>".$i."</option>\n";
}
$pagenav .= "</select> 页,共 $lastpg 页";
}?>
自己去看看吧! 也不知是不是你需要的。。
php有一个adodb函数库的 不过要自己下载 其中的一些方法跟asp的adodb是不一样的
到现在也没有解决adodb的分页问题
所以我自己用php内置的mysql链接函数写了一段分页代码 代码如下 希望能对跟我一样的php新手有所帮助
<?php
session_start();
//mysql数据库链接
//设置连接字符串
$db = array(
"host"=>"127.0.0.1:3306",
"name"=>"root",
"pwd"=>"",
"db"=>"test"
);
//创建数据库链接对象
$conn = mysql_connect($db["host"],$db["name"],$db["pwd"]) or die("链接数据库失败!");
//选择数据库
mysql_select_db($db["db"],$conn) or die("选择数据库时出错!");
//设置字符集
mysql_query("SET NAMES UTF8") or die("设置字符集时出错");
//分页代码开始{
$sql = "select count(*) from Andy";
$result = mysql_query($sql);
$count = mysql_fetch_array($result);
$pagesize = 3;
$maxpage = intval($count[0]/$pagesize);
if ($count[0]%$pagesize != 0) {
$maxpage = $maxpage + 1;
}
//echo "$maxpage<br />";
$cur_page = 1;
if (isset($_GET["cur_page"])&&$_GET["cur_page"]!="") {
if ($_GET["cur_page"]<1) {
$cur_page = 1;
}elseif ($_GET["cur_page"]>$maxpage){
$cur_page = $maxpage;
}else {
$cur_page = $_GET["cur_page"];
}
}
$start_position = ($cur_page-1)*$pagesize;
//分页代码结束}
//设置sql语句
$sql="select * from Andy limit $start_position,$pagesize";
//使用mysql_query()查询语句
$result = mysql_query($sql);
/* 以数组的形式处理数据
while ($row = mysql_fetch_array($result)) {
echo $row[0]."++".$row[1]."<br />";
}
*/
//以 键名/值 的方式处理数据
while ($row = mysql_fetch_assoc($result)){
echo $row["id"]."=>".$row["name"]."<br />";
}
if ($cur_page==1) {
echo "首 页 上一页";
}else{
echo "<a href=\"?cur_page=1\">首 页</a> <a href=\"?cur_page=".($cur_page-1)."\">上一页</a>";
}
echo " ";
if ($cur_page==$maxpage) {
echo "下一页 末页";
}else{
echo "<a href=\"?cur_page=".($cur_page+1)."\">下一页</a> <a href=\"?cur_page=".($maxpage)."\">末 页</a>";
}
//使用完释放资源
mysql_free_result($result);
//关闭数据库链接
mysql_close($conn)
?>