PHP调用三种数据库的方法(2)

发表于:2007-06-21来源:作者:点击数: 标签:
开放 数据库 连接(ODBC)已成为一种与数据库进行通信的工业标准。 PHP 也提供了标准的接口,使得PHP能调用Access, SQL SERVER等数据库。其相关函数是: (1)integer odbc_connect(string dsn, string user, string password) 连接到一个ODBC数据库源名字

   

   开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Aclearcase/" target="_blank" >ccess,SQL SERVER等数据库。其相关函数是:

(1)integer odbc_connect(string dsn, string user, string password)

    连接到一个ODBC数据库源名字上。

(2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query)

    在一个连接上执行查询。

(3)boolean odbc_fetch_row(integer result, integer row)

    从一个结果集中获取一行数据。Row参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回false。

(4)boolean odbc_close(integer connection)

    关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。

    最后,还是看个分页的例子:

<?

//设定每页显示条数

$show_num = 10;

$spages = $pages;//避免$pages后期被改变

//定义连接

$dsn = "localhost";

$user = "sa";

$password = "";

//计算总记录数

$rs_num = "select count(*) as id from bbs where zu=\'0\' and lei=\'".$lei."\'";

$conn_id = odbc_connect($dsn,$user,$password);

$rnum = odbc_exec($conn_id,$rs_num);

while(odbc_fetch_row($rnum)){

$total_rs = odbc_result($rnum,"id");//将总记录数放入$total_rs变量

}

//计算与页有关的条数

$nnn = $total_rs / $show_num;//计算总页数

$hnnn = intval($nnn);//将总页数取整

$cnnnn = $nnn - $hnnn;

//计算所需总页数

switch ($cnnn){

case "0":

$hnnn++;

$nnn = $hnnn;//总页数

break;

default :

$nnn = $hnnn;//总页数

break;

};

if ($nnn == 0)$nnn++;

//计算页面改变所需的条件

$fore = $pages;

$next = $pages;

$fore -= 1;

$next += 1;

if ($fore > 0) {

echo "<a>首页</a>";

echo "<a>前页</a>";

};

if ($pages < $nnn) {

echo "<a>后页</a>";

echo "<a>尾页</a>";

};

echo "共".$nnn."页";

$query_string = "SELECT * FROM table where condition order by you wanted order";

$cur = odbc_exec($conn_id,$query_string);

//取到循环的顶部

$cnum = ($pages-1) * $show_num;//计算当前的记录游标的位置

//空循环到显示记录游标处

if ($cnum != 0){

for ($i=0;$i<=$cnum;odbc_fetch_row($cur)){$i++;};

};

$i=1;

//显示记录

while(odbc_fetch_row($cur)){

echo ;

if ($i == $show_num){//在不满页数时跳出程序

break;

};

$i++;

};

//关闭连接

odbc_close($conn_id);

?>

原文转自:http://www.ltesting.net