This article mainly introduces the implementation of two page turning display functions in PHP. Interested friends can refer to it. I hope it will be helpful to everyone.
We all know that it is very simple and interesting to use php mysql to display all database information on a web page. When there is very little database information, the page display is still satisfactory, but when there is a lot of database information Next, the display of the page will become very bad. Let's introduce how to display the amount of data on the current page and how to implement the dynamic flip function.
Here we will introduce the implementation of two page turning display functions:
First introduce the database syntax used in page turning:
mysql_query("select * from table order by id desc");
You will be familiar with this database statement However, it is used to search for records and display them in reverse order, but it does not work in the page turning function. The following extended syntax is the core function of page turning:
mysql_query("select * from table order by id desc limit $start,$limit");
Here $start is the starting row of the database search, $limit is the search starting from the starting row and ending with $limit records. Well, with this core function, we can start the page turning function.
The first page turning function: The function introduced here is the simplest one among the page turning functions. It can only realize page turning forward and page turning backward. The function of this site This is the page turning function of the Very News and Download Center.
Let’s first introduce the idea of implementing the page turning function:
page.php:
<? //设置当前页显示的数量(这个数量可任意设置) $limit=20; //初始化数据库搜索起始记录 if (!emptyempty($start)) $start=0; mysql_connect("localhost","",""); mysql_select_db(database); //设置数据库记录总数 $result=mysql_query("select * from table"); $num_max=mysql_numrows($result); $result=mysql_query("select * from table order by id desc limit $start,$limit); $num=mysql_numrows($result); echo "<table><tr><td>翻页功能</td></tr>"; if (!emptyempty($num)) { for ($i=0;$i<$num;$i++) { $val=mysql_result($result,$i,"val"); $val1=mysql_result($result,$i,"val1"); echo "<tr><td>$val</td><td>$val1</td></tr>"; } } echo "<tr><td>"; //设置向前翻页的跳转 $prve=$start-$limit; if ($prve>=0) { echo "<a href=page.php?start=$prve>prve</a>"; } //设置向后翻页的跳转 $next=$start+$limit; if ($next<$num_max) { echo "<a href=page.php?start=$next>next</a>"; } echo "</td></tr></table>"; ?>
The implementation of the simple page turning function was introduced earlier, and the following is introduced The page turning function is more powerful and complex. The special forums and articles on this site use this circular page turning function.
The circular page turning is achieved by turning forward and backward together with numbers. The specific expression is: :
Page: prve <<1 2 3 4 ....... 20 >> nextThe numbers inside represent each current Page, prve and next are not just forward and backward flips of the current page, but more complex digitally controlled front and back flips.
First of all, we boldly assume that there are more than 1,000 records in the database. We want to currently display 25 records, and the number flip control is 20, so the following display results will be shown:
Page : 0 1 2 3 ......... 19 >> nextThe displayed result after flipping:
page: prve < <20 27 28 ....... 49 >> nextOkay, let’s take a look at the rules. A fixed number displays the number 25, and a fixed number controls the doubling of 20. We can use these two numbers to implement the page turning function;First set the fixed display variable:
$limit=20;
$start= 0;
Page variable:$page;
The program for a page number loop display is as follows:
<? ... $result=mysql_query("select * from table"); $num=mysql_numrows($result); for ($page=0;$page<($num/$limit);$page++) { echo $page; if ($page>0 && ($page%20)==0) { break; //退出循环 } } ?>
<? $limit=25; if (!emptyempty($start)) $start=0; if (!emptyempty($s)) $s=0; mysql_connect("localhost","",""); mysql_select_db(database); //统计数据库记录总数 $result=mysql_query("select * from table"); $num=mysql_numrows($result); $result=mysql_query("select * from table order by id limit $start,$limit"); $numb=mysql_numrows($result); echo "<table>"; if (!emptyempty($numb)) { for($i=0;$i<$numb;$i++) { $val=mysql_result($result,$i,"val"); $val1=mysql_result($result,$i,"val1"); echo "<tr><td>$val</td><td>$val1</td></tr>"; } } echo "</table>"; //数字循环翻页的控制 echo "<table>"; echo "<tr><td>页:</td>"; //前翻控制 if ($s>20) { if ($s==21) { $st=$s-21; } else { $st=$s-20; } $pstart=$st*$limit; echo "<td><a href=page.php?"; echo "start=$pstart&s=$st>prve</a></td>"; } echo "<td> >></td>"; //设置当前页对应页数无链接功能 $star=$start; //注意循环的初始附值,仔细想想为什么不是 0 for ($page=$s;$page<($num/$limit);$page++) { $start=$page*$limit; echo "<td>"; if($page!=$star/$limit) { echo "<a href=page.php?"; echo "start=$start&s=$s>"; } echo $page; if($page!=$star/$limit) { echo "</a>"; } echo "</td>"; //控制数字页面限制显示功能,控制只显示 20 页 if ($page>0 && ($page%20)==0) { if ($s==0) { $s=$s+21; } else { $s=$s+20; } $start=$start+$limit; if ((($num/$limit)-1)>$page) { echo "<td> <<</td><td><a href'page.php?"; echo "start=$start&s=$s>next</a></td>"; } //注意跳出循环的控制 break; } } echo "</tr></table>"; ?>
PHP recursive implementation of hierarchical tree expansion method
Usage and example analysis of PHP array function array_multisort()
PHP function import_request_variables() usage and example analysis
The above is the detailed content of Implementation of two page turning display functions in PHP. For more information, please follow other related articles on the PHP Chinese website!