Open Database Connection (ODBC) has become an industrial standard for communicating with databases. PHP also provides standard interfaces, allowing PHP to call databases such as Access, SQL SERVER. The related functions are:
(1)integer odbc_connect(string dsn, string user, string password)
Connect to an ODBC database source name.
(2) integer odbc_exec(integer connection, string query) or odbc_do(integer connection, string query)
Perform a query on a connection.
(3)boolean odbc_fetch_row(integer result, integer row)
Get a row of data from a result set. The Row parameter is optional. If it is vacant, the next valid row will be returned. Return false when no rows remain in the result set.
(4)boolean odbc_close(integer connection)
Close a database connection. If there is an open transaction on the connection, an error is returned and the connection will not be closed.
Finally, let’s look at a pagination example:
<?
//Set the number of pieces displayed per page
$show_num = 10;
$spages = $pages;//Avoid the $pages being changed later
//Define the connection
$dsn = "localhost";
$user = "sa";
$password = "";
//Calculate the total number of records
$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");//Put the total number of records into the $total_rs variable
}
//Calculate the number of pages related to
$nnn = $total_rs / $show_num;//Calculate the total number of pages
$hnnn = intval($nnn);//Fill the total number of pages
$cnnnn = $nnn - $hnnn;
//Calculate the total number of pages required
switch ($cnnn){
case "0":
$hnnn++;
$nnn = $hnnn;//Total number of pages
break;
default :
$nnn = $hnnn;//Total number of pages
break;
};
if ($nnn == 0)$nnn++;
// Calculate the conditions required for page changes
$fore = $pages;
$next = $pages;
$fore -= 1;
$next += 1;
if ($fore > 0) {
echo "<a>Home</a>";
echo "<a>Previous Page</a>";
};
if ($pages < $nnn) {
echo "<a>back page</a>";
echo "<a>Last Page</a>";
};
echo "Total".$nnn."page";
$query_string = "SELECT * FROM table where condition order by you wanted order";
$cur = odbc_exec($conn_id,$query_string);
//Get to the top of the loop
$cnum = ($pages-1) * $show_num;//Calculate the position of the current record cursor
//Empty loop to display record cursor
if ($cnum != 0){
for ($i=0;$i<=$cnum;odbc_fetch_row($cur)){$i++;};
};
$i=1;
//Show records
while(odbc_fetch_row($cur)){
echo ;
if ($i == $show_num){//The program will pop up when the number of pages is not satisfied
break;
};
$i++;
};
//Close the connection
odbc_close($conn_id);
?>
(1)integer odbc_connect(string dsn, string user, string password)
Connect to an ODBC database source name.
(2) integer odbc_exec(integer connection, string query) or odbc_do(integer connection, string query)
Perform a query on a connection.
(3)boolean odbc_fetch_row(integer result, integer row)
Get a row of data from a result set. The Row parameter is optional. If it is vacant, the next valid row will be returned. Return false when no rows remain in the result set.
(4)boolean odbc_close(integer connection)
Close a database connection. If there is an open transaction on the connection, an error is returned and the connection will not be closed.
Finally, let’s look at a pagination example:
<?
//Set the number of pieces displayed per page
$show_num = 10;
$spages = $pages;//Avoid the $pages being changed later
//Define the connection
$dsn = "localhost";
$user = "sa";
$password = "";
//Calculate the total number of records
$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");//Put the total number of records into the $total_rs variable
}
//Calculate the number of pages related to
$nnn = $total_rs / $show_num;//Calculate the total number of pages
$hnnn = intval($nnn);//Fill the total number of pages
$cnnnn = $nnn - $hnnn;
//Calculate the total number of pages required
switch ($cnnn){
case "0":
$hnnn++;
$nnn = $hnnn;//Total number of pages
break;
default :
$nnn = $hnnn;//Total number of pages
break;
};
if ($nnn == 0)$nnn++;
// Calculate the conditions required for page changes
$fore = $pages;
$next = $pages;
$fore -= 1;
$next += 1;
if ($fore > 0) {
echo "<a>Home</a>";
echo "<a>Previous Page</a>";
};
if ($pages < $nnn) {
echo "<a>back page</a>";
echo "<a>Last Page</a>";
};
echo "Total".$nnn."page";
$query_string = "SELECT * FROM table where condition order by you wanted order";
$cur = odbc_exec($conn_id,$query_string);
//Get to the top of the loop
$cnum = ($pages-1) * $show_num;//Calculate the position of the current record cursor
//Empty loop to display record cursor
if ($cnum != 0){
for ($i=0;$i<=$cnum;odbc_fetch_row($cur)){$i++;};
};
$i=1;
//Show records
while(odbc_fetch_row($cur)){
echo ;
if ($i == $show_num){//The program will pop up when the number of pages is not satisfied
break;
};
$i++;
};
//Close the connection
odbc_close($conn_id);
?>