网站制作学习网PHP→正文:php连接sql server分页
字体:

php连接sql server分页

PHP 2011/3/1 16:25:24  点击:不统计


php连接mysql分页很简单,用limt 起始位置,分页量。但是用php连接sqlserver分页,如何分呢。
在php收藏里有一种分页,还有一种是用sql语句的not in。下面将php连接sqlserver分页两种方法列举一下。
首先看,not in php连接sqlserver的方法。
很简单
$hostname = "192.168.3.233"; //MSSQL Server
$dbuser = "mima"; //用户名
$dbpasswd = "mima"; //密码
//连接数据库
$id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");
//选择数据库,为了方便,这里以MSSQL Server的NorthWind数据库为例
$db = mssql_select_db("pdp",$id) or die("无法连接数据库!");
#news_article title
echo $now1 =time()+microtime();
echo "<br>";
$sql = "select top 1000 * from news_article where articleid not in(select top 5000 articleid from news_article order by articleid desc ) order by articleid desc";(这里是notin语句)
$result=mssql_query($sql);
while($rows = mssql_fetch_array($result)){
  //echo $arr[]= $rows["title"];
}
echo $now2=time()+microtime();//为了方便比较两种方法,输出一下运行时间。3w.foa($)sp.cn
echo "<br>";
时间为:2.27637386322秒
第二种 是采用php的 mssql_data_seek的方法,说明如下
mssql_data_seek(数据源,截断条数);

echo "<br>第二种方法测试<br>";
$time3 = time()+microtime();
$sql = "select top 6000 * from news_article order by articleid desc";
$result = mssql_query($sql);
mssql_data_seek($result,5000);//上面选出6k条数据,截取了前5k条。下面的输出即将重5001条开始
for($i=0;$i<1000;$i++){
 $rows = mssql_fetch_array($result);
 //echo "<br>".$rows["title"];
}
$time4 = time()+microtime();
mssql_free_result($result);
echo $time4-$time3;//输出时间差6.69975805283

总起来说php连接mssql分页,不如用not in的sql语句查询.这就是php连接mssql的分页方法


·上一篇:php配置Xdebug >>    ·下一篇:php采集器 >>
推荐文章
最新文章