A class that connects odbc to mssql paging_PHP tutorial
class Pages{
var $cn; //Connect the database cursor
var $d; //Connect the data table Cursor
var $result; //Result
var $dsn; > var $total; //Total number of records
var $pages; //Total number of pages
var $onepage; //Number of entries per page
var $page; //Previous page
var $net; //Next page
var $i; 🎜> $this->cn=@odbc_connect($dsn,$user,$pass);
if(!$this->cn){
$error="Error connecting to database";
@odbc_do($this->cn,$sql);
If(!$this->d){
$error="A small error occurred during query...";
$this->getMess($error); $this ->sql=$sql;
$dT=$this->getDo($this->sql); 'total');//Why can't $this->d be used here?
return $this->total;
}
function getList($sql,$onepage,$page){
$this->s=$sql;
$this->onepage=$onepage;
$this->page=$page;
$this->dList=$this->getDo($this->s); // Cursor for joining table
$this->pages=ceil($this->total/$this->onepage);
if($this->pages==0)
$ this->pages++; //Cannot get page 0
if(!isset($this->page))
$this->page=1;
$this-> fre = $this->page-1; //The number of pages to be displayed
->page-1)*$this->onepage;
//if($this->nums!=0){
this->i<$pg->getNums();odbc_fetch_row($this->dd),$this->i++);//Same as above
>i=0;//Why can’t this part be encapsulated?
return $this->dList;
}
function getFanye(){
$str="";
if($this->page!=1)
$str.=" 首页 fre."> 前页 ";
else
$str.="首页 前页";
if($this->page<$this->pages)
$str.="nxt."> 后页 ";
else
$str.=" 后页 ";
if($this->page!=$this->pages)
$str.="pages."> 尾页 ";
else
$str.=" 尾页 ";
$str.="共".$this->pages."页";
$str.="您正浏览第".$this->page."页";
return $str;
}
function getNums(){
return $this->nums;
}
function getOnepage(){//每页实际条数
return $this->onepage;
}
function getI(){
return $this->i;
}
function getPage(){
return $this->page;
}
function getMess($error){//定制消息
echo"
exit;
}
}
$pg=new Pages();
$pg->getConnect("lei","sa","star");
$pg->getTotal("select count(*) as total from xs"); //连学生表求总数
$pg->getList("select xs_name from xs order by xs_id",8,$page);
if($pg->getNums()!=0){
for($i=0;$i<$pg->getNums();odbc_fetch_row($pg->dList),$i++);//同上
}
$i=0;
while(odbc_fetch_row($pg->dList)){
$name=odbc_result($pg->dList,"xs_name");
echo $name."
";
if($i==$pg->getOnepage()){//跳出循环
break;
}
$i++;
}
echo$pg->getFanye();
?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Hibernate polymorphic mapping can map inherited classes to the database and provides the following mapping types: joined-subclass: Create a separate table for the subclass, including all columns of the parent class. table-per-class: Create a separate table for subclasses, containing only subclass-specific columns. union-subclass: similar to joined-subclass, but the parent class table unions all subclass columns.

The development of artificial intelligence (AI) technologies is in full swing today, and they have shown great potential and influence in various fields. Today Dayao will share with you 4 .NET open source AI model LLM related project frameworks, hoping to provide you with some reference. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel is an open source software development kit (SDK) designed to integrate large language models (LLM) such as OpenAI, Azure

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

HTML cannot read the database directly, but it can be achieved through JavaScript and AJAX. The steps include establishing a database connection, sending a query, processing the response, and updating the page. This article provides a practical example of using JavaScript, AJAX and PHP to read data from a MySQL database, showing how to dynamically display query results in an HTML page. This example uses XMLHttpRequest to establish a database connection, send a query and process the response, thereby filling data into page elements and realizing the function of HTML reading the database.

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

There are two most common ways to paginate PHP arrays: using the array_slice() function: calculate the number of elements to skip, and then extract the specified range of elements. Use built-in iterators: implement the Iterator interface, and the rewind(), key(), current(), next(), and valid() methods are used to traverse elements within the specified range.

Using the database callback function in Golang can achieve: executing custom code after the specified database operation is completed. Add custom behavior through separate functions without writing additional code. Callback functions are available for insert, update, delete, and query operations. You must use the sql.Exec, sql.QueryRow, or sql.Query function to use the callback function.
