一款经典php mysql分页程序

 更新时间:2016年11月25日 16:38  点击:1653
本文章提供一款php分页代码,这是一款比较简单也常的limit进来分页了,同时他还带有条件查询分页功能。
 代码如下 复制代码

$conn=mysql_connect($mysql_host,$mysql_user,$mysql_password) or die('连接服务器出错');
mysql_select_db($mysql_db) or die("选择数据库教程出错");
mysql_query("set names 'gbk'");
function table($t)
{
 global $mysql_table_prefix;
 return $mysql_table_prefix.$t;
}


$sql="select * from ".table('keywords')."  where 1=1 ";
$sql2="select count(*) from ".table('keywords')."  where 1=1 ";
$py=trim($_request['py']);
if($act=="search" and !empty($_post['s1']))
{
 $s1=trim($_post['s1']);//获取搜索字
 $sql .=" and (k1='$s1' or k2='$s1') ";
 $sql2 .=" and (k1='$s1' or k2='$s1') ";
}
elseif(!empty($py))
{
 $sql .=" and pinyin='$py' ";
 $sql2.=" and pinyin='$py' ";
}


$sql .=" order by pinyin ";
$rscount=mysql_query($sql2);
$rscount=@mysql_fetch_array($rscount);
$rscount=$rscount[0];//获取总记录数

$page=trim($_get['page']);//当前页数
$pagesize=30;//每页记录数
$pagecount=ceil($rscount/$pagesize);//获取总页数
$pageurl="";
if($page<=1)
{
 $page=1;
 $pageurl.=" 首页 上一页";
}else
{
 $pageurl .=" <a href='?page=1&py=".$py."'>首页</a> &nbsp;<a href='?py=".$py."&page=".($page-1)."'>上一页</a>";
}
if($page>=$pagecount)
{
 $page=$pagecount;
 $pageurl .=" 下一页&nbsp; 尾页";
}else
{
 $pageurl .=" <a href='?py=".$py."&page=".($page+1)."'>下一页</a> &nbsp;<a href='?py=".$py."&page=".$pagecount."'>尾页</a>";
}

$start_rs=($page-1)*$pagesize;//开始
$end_rs=$page*$pagesize;//结束
$sql .=" limit {$start_rs},{$end_rs} ";
$res=mysql_query($sql);

?>

下面这款mysql数据库连接文章,是我从一个cms搞下来的,很完整的。直接调用就OK了。
 代码如下 复制代码

class dbmysq {

 var $querynum = 0;
 var $link;
 var $histories;
 var $time;
 var $tablepre;

 function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset, $pconnect = 0, $tablepre='', $time = 0) {
  $this->time = $time;
  $this->tablepre = $tablepre;
  if ($pconnect) {
   if (!$this->link = mysql_pconnect($dbhost, $dbuser, $dbpw)) {
    $this->halt('can not connect to mysql server');
   }
  } else {
   if (!$this->link = mysql_connect($dbhost, $dbuser, $dbpw, 1)) {
    $this->halt('can not connect to mysql server');
   }
  }

  if ($this->version() > '4.1') {
   if ($dbcharset) {
    mysql_query("set character_set_connection=" . $dbcharset . ", character_set_results=" . $dbcharset . ", character_set_client=binary", $this->link);
   }

   if ($this->version() > '5.0.1') {
    mysql_query("set sql_mode=''", $this->link);
   }
  }

  if ($dbname) {
   mysql_select_db($dbname, $this->link);
  }
 }

 function fetch_array($query, $result_type = mysql_assoc) {
  return mysql_fetch_array($query, $result_type);
 }

 function result_first($sql, &$data) {
  $query = $this->query($sql);
  $data = $this->result($query, 0);
 }

 function fetch_first($sql, &$arr) {
  $query = $this->query($sql);
  $arr = $this->fetch_array($query);
 }

 function fetch_all($sql, &$arr) {
  $query = $this->query($sql);
  while ($data = $this->fetch_array($query)) {
   $arr[] = $data;
  }
 }

 function cache_gc() {
  $this->query("delete from {$this->tablepre}sqlcaches where expiry<$this->time");
 }

 function query($sql, $type = '', $cachetime = false) {
  $func = $type == 'unbuffered' && @function_exists('mysql_unbuffered_query') ? 'mysql_unbuffered_query' : 'mysql_query';
  if (!($query = $func($sql, $this->link)) && $type != 'silent') {
   $this->halt('mysql query error', $sql);
  }
  $this->querynum++;
  $this->histories[] = $sql;
  return $query;
 }

 function affected_rows() {
  return mysql_affected_rows($this->link);
 }

 function error() {
  return (($this->link) ? mysql_error($this->link) : mysql_error());
 }

 function errno() {
  return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());
 }

 function result($query, $row) {
  $query = @mysql_result($query, $row);
  return $query;
 }

 function num_rows($query) {
  $query = mysql_num_rows($query);
  return $query;
 }

 function num_fields($query) {
  return mysql_num_fields($query);
 }

 function free_result($query) {
  return mysql_free_result($query);
 }

 function insert_id() {
  return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("select last_insert_id()"), 0);
 }

 function fetch_row($query) {
  $query = mysql_fetch_row($query);
  return $query;
 }

 function fetch_fields($query) {
  return mysql_fetch_field($query);
 }

 function version() {
  return mysql_get_server_info($this->link);
 }

 function close() {
  return mysql_close($this->link);
 }

 function halt($message='', $sql='') {
  exit('<br/>提示:数据库错误<br/>sql语句:' . $sql . '<br/>错误关键字:' . mysql_error());
 }

}

?>

mysql_affected_rows: 得到 mysql 最后操作影响的列数目。
mysql_close: 关闭 mysql 伺服器连线。
mysql_connect: 开启 mysql 伺服器连线。
mysql_create_db: 建立一个 mysql 新资料库。
mysql_data_seek: 移动内部传回指标。
mysql_db_query: 送查询字串 (query) 到 mysql 资料库。
mysql_drop_db: 移除资料库。
mysql_errno: 传回错误讯息代码。
mysql_error: 传回错误讯息。
mysql_fetch_array: 传回阵列资料。
mysql_fetch_field: 取得栏位资讯。
mysql_fetch_lengths: 传回单列各栏资料最大长度。
mysql_fetch_object: 传回物件资料。
mysql_fetch_row: 传回单列的各栏位。
mysql_field_name: 传回指定栏位的名称。
mysql_field_seek: 设定指标到传回值的某栏位。
mysql_field_table: 获得目前栏位的资料表 (table) 名称。
mysql_field_type: 获得目前栏位的型态。
mysql_field_flags: 获得目前栏位的旗标。
mysql_field_len: 获得目前栏位的长度。
mysql_free_result: 释放传回占用记忆体。
mysql_insert_id: 传回最后一次使用 insert 指令的 id。
mysql_list_fields: 列出指定资料表的栏位 (field)。
mysql_list_dbs: 列出 mysql 伺服器可用的资料库 (database)。
mysql_list_tables: 列出指定资料库的资料表 (table)。
mysql_num_fields: 取得传回栏位的数目。
mysql_num_rows: 取得传回列的数目。
mysql_pconnect: 开启 mysql 伺服器长期连线。
mysql_query: 送出一个 query 字串。
mysql_result: 取得查询 (query) 的结果。
mysql_select_db: 选择一个资料库。
mysql_tablename: 取得资料表名称。

看个连接实例

 代码如下 复制代码
<?php
$mysql_url = "localhost:3306";
$mysql_user = "root";
$mysql_passwd = "root";
$link = @mysql_pconnect($mysql_url,$mysql_user,$mysql_passwd);
@mysql_query("set names 'gbk'"); //设置编码格式
@mysql_close($link)
?>

php连接mysql数据库:这里用mysql_connect函数来连接:

例子:

 代码如下 复制代码
<?
 $link = mysql_connect("localhost","root","sa") or die ('连接mysql数据库失败'.mysql_error());//用mysql连接数据库,如果失败输入错误原因
 if($link){
  echo "mysql数据库连接成功";//如果连接成功,给出提示
 }
?>


在 php 中,这个任务通过 mysql_connect() 函数完成。

语法
mysql_connect(servername,username,password);参数 描述
servername 可选。规定要连接的服务器。默认是 "localhost:3306′。
username 可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。
password 可选。规定登录所用的密码。默认是 ""。

注释:虽然还存在其他的参数,但上面列出了最重要的参数。请访问 w3school 提供的 php mysql 参考手册,获得更多的细节信息。

例子
在下面的例子中,我们在一个变量中 ($con) 存放了在脚本中供稍后使用的连接。如果连接失败,将执行 "die" 部分:

 代码如下 复制代码
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('could not connect: ' . mysql_error());
  }

// some code

?>关闭连接
脚本一结束,就会关闭连接。如需提前关闭连接,请使用 mysql_close() 函数。

 代码如下 复制代码

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('could not connect: ' . mysql_error());
  }

// some code

mysql_close($con);

像这种php读取sql文件导入数据库情况,用得最多的就是数据库备份与还原来了,原理很简单按指定格式导入成.sql文件或利用phpmyadmin导出都可以用本程序来实现导入哦。
 代码如下 复制代码

function into_sql($file)
{
   global $mysql教程_host,$mysql_user,$mysql_password,$mysql_db,$mysql_table_prefix,$dbcharset;//获取数据库配置信息
    mysql_connect($mysql_host,$mysql_user,$mysql_password);
    mysql_select_db($mysql_db);

    if( mysql_get_server_info() < '4.1' )
    //返回 link_identifier 所使用的服务器版本。如果省略 link_identifier,则使用上一个打开的连接。
    {
        $dbcharset='';//设置字符集,如果mysql版本低于4.1,则不设置字符集信息
    }
 if(empty($dbcharset))
 {
  $dbcharset='gbk';
 }
    $dbcharset && mysql_query("set names '$dbcharset'");// 设置字符集
    if( mysql_get_server_info() > '5.0' )
    {
        mysql_query("set sql_mode=''");
    }
    $file2=file_get_contents($file);
 $file2=iconv("utf-8","gbk",$file2);
    $file2=str_replace("seo教程_",$mysql_table_prefix,$file2);//将文件中数据库表前缀换成用户设定的前缀
 
    $file2=explode("n",$file2);//将文件内容按行读入到数组
    $c1=count($file2);
    for($j=0;$j<$c1;$j++)
    {
        $ck=substr($file2[$j],0,4);//取每行的前4个字符
        if( ereg("#",$ck)||ereg("--",$ck) )//去掉注释
        {
            continue;
        }
        $arr[]=$file2[$j];//将去掉注释的文件内容按行读入数组$arr,数组每个元素对应一行
    }
    $read=implode("n",$arr); //重新组织文件内容到一个字符串,(按照原来分好的一行一行的)
    $sql=str_replace("r",'',$read);//去掉"r(回车符)"
    $detail=explode(";n",$sql);
    //将经上述整理过的文件内容再次按一条完整的sql语句(以;和n分隔)导入到数组$detail,
    //此时数组detail的每个元素对应一条完整的sql语句
    $count=count($detail);
    for($i=0;$i<$count;$i++)
    {
        $sql=str_replace("r",'',$detail[$i]);//去掉每行sql中的回车符
        $sql=str_replace("n",'',$sql);//去掉换行符
        $sql=trim($sql);//去掉前后空格
        //现在的$sql
        if($sql)
        {
            if(eregi("create table",$sql))//如果当前的sql语句是创建新表,则考虑版本兼容,以及重设字符集
            {
                //$mysqlv=mysql_get_server_info();
                $sql=preg_replace("/default charset=([a-z0-9]+)/is","",$sql);//去除原来的字符集设置信息
                $sql=preg_replace("/type=myisam/is","engine=myisam",$sql);
                if($dbcharset)
                {
                    $sql=str_replace("engine=myisam"," engine=myisam default charset=$dbcharset ",$sql);
                }
                if(mysql_get_server_info()<'4.1')
                {
                    $sql=preg_replace("/engine=myisam/is","type=myisam",$sql);//
                }
            }
            mysql_query($sql);
        }
    }
}

?>

打开PHP配置文件php.ini,找到;extension=php_mssql.dll把前面的分号去掉。 2、找到mssql.secure_connection = Off修改成 mssql.secure_connection = On。 3、把PHP文件夹下的php_mssql.dll和ntwdblib.DLL这两个文件拷贝到C:windowssystem32文件夹下

 ----在这里,复制ntwdblib.dll到c:windowssystem32下是失败,原因是该目录下已经存在该dll文件啦.

我重启apache,

*/
$hostname="10.4.250.20"; 
$dbuser="hr"; 
$dbpasswd="946138"; 
$dbname="hr"; 
$conn = mssql_connect($hostname,$dbuser,$dbpasswd) or die("数据库连接错误!"); 
mssql_select_db($dbname,$conn); 
$sql = " select * from pip_staff_s where cstaffid ='z797' "; 
$rowset=mssql_query($sql,$conn); 
$rowcnt=mssql_num_row($rowset);
echo " rows ";
echo $rowset;
echo " end ";

[!--infotagslink--]

相关文章

  • php KindEditor文章内分页的实例方法

    我们这里介绍php与KindEditor编辑器使用时如何利用KindEditor编辑器的分页功能实现文章内容分页,KindEditor编辑器在我们点击分页时会插入代码,我们只要以它为分切符,就...2016-11-25
  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • 自己动手写的jquery分页控件(非常简单实用)

    最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性...2015-10-30
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • C#使用Process类调用外部exe程序

    本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
  • 微信小程序 页面传值详解

    这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
  • jquery实现的伪分页效果代码

    本文实例讲述了jquery实现的伪分页效果代码。分享给大家供大家参考,具体如下:这里介绍的jquery伪分页效果,在火狐下表现完美,IE全系列下有些问题,引入了jQuery1.7.2插件,代码里有丰富的注释,相信对学习jQuery有不小的帮助,期...2015-10-30
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • uniapp微信小程序:key失效的解决方法

    这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
  • vue.js 表格分页ajax 异步加载数据

    Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下...2016-10-20
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文

    时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25
  • 微信小程序 网络请求(GET请求)详解

    这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
  • 微信小程序如何获取图片宽度与高度

    这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
  • 微信小程序二维码生成工具 weapp-qrcode详解

    这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
  • Springboot如何使用mybatis实现拦截SQL分页

    这篇文章主要介绍了Springboot使用mybatis实现拦截SQL分页,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-19
  • 微信小程序自定义tabbar组件

    这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
  • PHP 一个完整的分页类(附源码)

    在php中要实现分页比起asp中要简单很多了,我们核心就是直接获取当前页面然后判断每页多少再到数据库中利用limit就可以实现分页查询了,下面我来详细介绍分页类实现程序...2016-11-25
  • Python爬取微信小程序通用方法代码实例详解

    这篇文章主要介绍了Python爬取微信小程序通用方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-29
  • 微信小程序手势操作之单触摸点与多触摸点

    这篇文章主要介绍了微信小程序手势操作之单触摸点与多触摸点的相关资料,需要的朋友可以参考下...2017-03-13