PHP中常用的分页类总结
分页是目前在显示大量结果时所采用的最好的方式。有了下面这些代码的帮助,开发人员可以在多个页面中显示大量的数据。在互联网上,分页是一般用于搜索结果或是浏览全部信息
php基本分页
代码如下复制代码
// database connection info
$conn = mysql_connect('localhost','dbusername','dbpass') or trigger_error("SQL",
E_USER_ERROR);
$db = mysql_select_db('dbname',$conn) or trigger_error("SQL", E_USER_ERROR);
// find out how many rows are in the table
$sql = "SELECT COUNT(*) FROM numbers";
$result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR);
$r = mysql_fetch_row($result);
$numrows = $r[0];
// number of rows to show per page
$rowsperpage = 10;
// find out total pages
$totalpages = ceil($numrows / $rowsperpage);
// get the current page or set a default
if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {
// cast var as int
$currentpage = (int) $_GET['currentpage'];
} else {
// default page num
$currentpage = 1;
} // end if
// if current page is greater than total pages...
if ($currentpage > $totalpages) {
// set current page to last page
$currentpage = $totalpages;
} // end if
// if current page is less than first page...
if ($currentpage < 1) {
// set current page to first page
$currentpage = 1;
} // end if
// the offset of the list, based on current page
$offset = ($currentpage - 1) * $rowsperpage;
// get the info from the db
$sql = "SELECT id, number FROM numbers LIMIT $offset, $rowsperpage"; $result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR); // while there are rows to be fetched...
while ($list = mysql_fetch_assoc($result)) {
// echo data
echo $list['id'] . " : " . $list['number'] . "
";
} // end while
/****** build the pagination links ******/
// range of num links to show
$range = 3;
// if not on page 1, don't show back links
if ($currentpage > 1) {
// show << link to go back to page 1
echo " << ";
// get previous page num
$prevpage = $currentpage - 1;
// show < link to go back to 1 page
echo " < "; } // end if
// loop to show links to range of pages around current page
for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) { // if it's a valid page number...
if (($x > 0) && ($x <= $totalpages)) {
// if we're on current page...
if ($x == $currentpage) {
// 'highlight' it but don't make a link
echo " [$x] ";
// if not current page...
} else {
// make it a link
echo " $x ";
} // end else
} // end if
} // end for
// if not on last page, show forward and last page links
if ($currentpage != $totalpages) {
// get next page
$nextpage = $currentpage + 1;
// echo forward link for next page
echo " > ";
// echo forward link for lastpage
echo " >> ";
} // end if
/****** end build pagination links ******/
?>
先看一个常用的php分页类
代码如下复制代码
/*
Place code to connect to your DB here.
*/
include('config.php'); // include your code to connect to DB.
$tbl_name=""; //your table name
// How many adjacent pages should be shown on each side?
$adjacents = 3;
/*
First get total number of rows in data table.
If you have a WHERE clause in your query, make sure you mirror it here.
*/
$query = "SELECT COUNT(*) as num FROM $tbl_name";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];
/* Setup vars for query. */
$targetpage = "filename.php"; //your file name (the name of this file)
$limit = 2; //how many items to show per page
$page = $_GET['page'];
if($page)
$start = ($page - 1) * $limit; //first item to display on this page
else
$start = 0; //if no page var is given, set start to 0
/* Get data. */
$sql = "SELECT column_name FROM $tbl_name LIMIT $start, $limit";
$result = mysql_query($sql);
/* Setup page vars for display. */
if ($page == 0) $page = 1; //if no page var is given, default to 1.
$prev = $page - 1; //previous page is page - 1
$next = $page + 1; //next page is page + 1
$lastpage = ceil($total_pages/$limit); //lastpage is = total pages / items per page, rounded up. $lpm1 = $lastpage - 1; //last page minus 1
/*
Now we apply our rules and draw the pagination object.
We're actually saving the code to a variable in case we want to draw it more than once.
*/
$pagination = "";
if($lastpage > 1)
{
$pagination .= "
//previous button
if ($page > 1)
$pagination.= "? previous";
else
$pagination.= "? previous";
//pages
if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up {
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "$counter";
else
$pagination.= "$counter";
}
}
elseif($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some
{
//close to beginning; only hide later pages
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "$counter";
else
$pagination.= "$counter";
}
$pagination.= "...";
$pagination.= "$lpm1"; $pagination.= "$lastpage";
}
//in middle; hide some front and some back
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "1";
$pagination.= "2";
$pagination.= "...";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "$counter";
else
$pagination.= "$counter";
}
$pagination.= "...";
$pagination.= "$lpm1";
$pagination.= "$lastpage";
}
//close to end; only hide early pages
else
{
$pagination.= "1";
$pagination.= "2";
$pagination.= "...";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
if ($counter == $page)
$pagination.= "$counter";
else
$pagination.= "$counter";
}
}
}
//next button
if ($page < $counter - 1)
$pagination.= "next ?";
else
$pagination.= "next ?";
$pagination.= "
}
?>
while($row = mysql_fetch_array($result))
{
// Your while loop here
}
?>
=$pagination?>
实例
代码如下复制代码
class PageView{
/**页码**/
public $pageNo = 1;
/**页大小**/
public $pageSize = 20;
/**共多少页**/
public $pageCount = 0;
/**总记录数**/
public $totalNum = 0;
/**偏移量,当前页起始行**/
public $offSet = 0;
/**每页数据**/
public $pageData = array();
/**是否有上一页**/
public $hasPrePage = true;
/**是否有下一页**/
public $hasNextPage = true;
public $pageNoList = array();
public $jsFunction ='jsFunction';
/**
*
* @param unknown_type $count 总行数
* @param unknown_type $size 分页大小
* @param unknown_type $string
*/
public function __construct($count=0, $size=20,$pageNo=1,$pageData
=array(),$jsFunction='jsFunction'){
$this->totalNum = $count;//总记录数
$this->pageSize = $size;//每页大小
$this->pageNo = $pageNo;
//计算总页数
$this->pageCount = ceil($this->totalNum/$this->pageSize);
$this->pageCount = ($this->pageCount<=0)?1:$this->pageCount;
//检查pageNo
$this->pageNo = $this->pageNo == 0 ? 1 : $this->pageNo;
$this->pageNo = $this->pageNo > $this->pageCount? $this->pageCount : $this->pageNo;
//计算偏移
$this->offset = ( $this->pageNo - 1 ) * $this->pageSize;
//计算是否有上一页下一页
$this->hasPrePage = $this->pageNo == 1 ?false:true;
$this->hasNextPage = $this->pageNo >= $this->pageCount ?false:true;
$this->pageData = $pageData;
$this->jsFunction = $jsFunction;
}
/**
* 分页算法
* @return
*/
private function generatePageList(){
$pageList = array();
if($this->pageCount <= 9){
for($i=0;$i<$this->pageCount;$i++){
array_push($pageList,$i+1);
}
}else{
if($this->pageNo <= 4){
for($i=0;$i<5;$i++){
array_push($pageList,$i+1);
}
array_push($pageList,-1);
array_push($pageList,$this->pageCount);
}else if($this->pageNo > $this->pageCount - 4){
array_push($pageList,1);
array_push($pageList,-1);
for($i=5;$i>0;$i--){
array_push($pageList,$this->pageCount - $i+1);
}
}else if($this->pageNo > 4 && $this->pageNo <= $this->pageCount - 4){ array_push($pageList,1);
array_push($pageList,-1);
array_push($pageList,$this->pageNo -2);
array_push($pageList,$this->pageNo -1);
array_push($pageList,$this->pageNo);
array_push($pageList,$this->pageNo + 1);
array_push($pageList,$this->pageNo + 2);
array_push($pageList,-1);
array_push($pageList,$this->pageCount);
}
}
return $pageList;
}
/***
* 创建分页控件
* @param
* @return String
*/
public function echoPageAsDiv(){
$pageList = $this->generatePageList();
$pageString ="
if(!empty($pageList)){
if($this->pageCount >1){
if($this->hasPrePage){
$pageString = $pageString ."jsFunction . "(" . ($this->pageNo-1) . ")">上一页";
}
foreach ($pageList as $k=>$p){
if($this->pageNo == $p){
$pageString = $pageString ."" . $this->pageNo . "";
continue;
}
if($p == -1){
$pageString = $pageString ."...";
continue;
}
$pageString = $pageString ."jsFunction . "(" . $p .
")">" . $p . "";
}
if($this->hasNextPage){
$pageString = $pageString ."jsFunction . "(" . ($this->pageNo+1) . ")">下一页";
}
}
}
$pageString = $pageString .("
return $pageString;
}
}
?>
css代码
>
y: Tahoma;overflow: hidden; padding-top: 12px; text-align: center;}
gin-bottom: 20px;}
ur, .pagination .page-prev_g, .pagination .page-prev, .pagination .page-next, .pagination .page-next_g, .pagination .page-break, . k;font-family: Tahoma,SimSun,Arial; height: 22px;line-height:22px; margin: 0; min-width: 16px;padding: 0 5px; text-align: center; v
}
tion .page-prev_g, .pagination .page-prev, .pagination .page-next, .pagination .page-next_g, .pagination .page-cur, .pagination .p ed3d83; color:#e9357d; font-weight:bold;}
border: 1px solid #ed3d83;text-decoration: none; background-color:#f95f9d; color:#fff;}
v_g, .pagination .page-prev, .pagination .page-next, .pagination .page-next_g { width: 36px; background-image:
https://www.doczj.com/doc/654825482.html,ge.gif);}
v { background-position: -0px -38px; padding-left: 16px;}
v_g { background-position:0px -59px; padding-left: 16px; color:#cbcbcb; font-weight:normal;}
t { background-position: 0px 0px; padding-right: 16px; font-weight:normal;}
t_g { background-position: -0px -19px; padding-right: 16px; color:#cbcbcb;}
{background-color: #f95f9d; border: 1px solid #ed3d83;color: #fff;font-weight: bold;}
ak {border: medium none; background:none transparent; color:#333;}
在php页面中的调用方法
代码如下复制代码
$pageNo = $_GET['pageNo'];
if(empty($pageNo)){
$pageNo = 1;
}
//分页数据
$pageData = News::getNewsPage($pageNo,$pageSize);
//取得总行数
$count = News::getNewsCount();
//创建分页器
$p = new PageView($count['0']['TOTAL'],$pageSize,$pageNo,$pageData);
//生成页码
$pageViewString = $p->echoPageAsDiv();
PHP+mysql分页原理和实例应用 文章来源:https://www.doczj.com/doc/654825482.html, 1、SQL语句中的limit用法 SELECT * FROM table …… limit开始位置 , 操作条数 开始位置从0开始 SELECT * FROM table …… limit 0 , 20 取最前面20条 SELECT * FROM table …… limit 10 , 20 11条到20条 2、学习分页的一种公式 (1)分页原理 所谓分页显示,也就是讲数据库中的结果集,一段一段显示出来 (2)需要的条件 怎么分段,当前在第几段 (每页有几条,当前再第几页) 前10条记录:select * from table limit 0,10 第11至20条记录:select * from table limit 10,10 第21至30条记录:select * from table limit 20,10 (3)得到公式 (当前页数 - 1 )X 每页条数 , 每页条数 Select * from table limit ($Page- 1) * $PageSize, $PageSize 3、parse_url()解析URL函数 parse_url() 是讲URL解析成有固定键值的数组的函数 $ua=parse_url("http://username:password@hostname/path?arg=value#anchor"); print_r($ua); 结果: Array ( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor )
$nextpage=$page+1; $SQL="select * from wyx_class order by wyx_classsort asc limit $offset,$each_page"; $Result=mysql_query($SQL); while($Row=mysql_fetch_array($Result)) { $wyx_id=$Row["wyx_id"]; $wyx_classname=$Row["wyx_classname"]; $wyx_classsort=$Row["wyx_classsort"]; ?>
Php语言基础知识 PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C 语言,被广泛的运用。 PHP 独特的语法混合了C、Java、Perl 以及PHP 自创的语法。 PHP安装 它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI 要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展! PHP原始为Personal Home Page的缩写,现已经正名为"PHP: Hypertext Preprocessor"的缩写。注意不是―Hypertext Preprocessor‖的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于19 ISAPI筛选器 94年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。最初这些工具程序用来显示Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。在1995年早期以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,
PHP Ajax jQuery 无刷新分页 冰浪辅助:https://www.doczj.com/doc/654825482.html, demo.php文件
1:要求在一组数中,插入一个新数,并维护原来的排序方式不变 2:用二分法在一个数组中查找你所需元素 3:打印一个杨辉三角 1 11 121 1331 14641 15101051 4:使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 5:写一个二维数组排序函数,能够具有通用性 6:写一个function实现数组内每个元素之间加法的递代运算? 注:数组元素全部为自然数. 例: $data=array(1,2,3); 程序要求打印出数组每个数组元素相互之间各种可能性加法(包括元素自已本身加法) 1+1=2,1+2=3,1+3=5, 2+2=4,2+3=5, 3+3=6 打印出以下结果 Array ( [0]=>Array ( [0]=>2 [1]=>3 [2]=>4 ) [1]=>Array ( [1]=>4 [2]=>5 ) [2]=>Array ( [2]=>6
) ) 7:设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最大。 8:设随机抽到A的概率为0.1,B的概率为0.2,C的概率为0.3,D的概率为0.4,现在求按此概率随机抽出一个字母的算法, 9:一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币个数找给小孩。假设提供了数目不限的面值为25美分、10美分、5美分、及1美分的硬币,写一个算法让售货员用最少的硬币个数找给小孩 10:五只猴子采得一堆桃子,猴子彼此约定隔天早起后再分食。不过,就在半夜里,一只猴子偷偷起来,把桃子均分成五堆后,发现还多一个,它吃掉这桃子,并拿走了其中一堆。第二只猴子醒来,又把桃子均分成五堆后,还是多了一个,它也吃掉这个桃子,并拿走了其中一堆。第三只,第四只,第五只猴子都依次如此分食桃子。那么桃子数最少应该有几个呢? 11:公鸡3元每只,母鸡5元每只,小鸡1元3只,一百元钱买一百只鸡。请求出公鸡,母鸡和小鸡的数目。 12:小猴第一天摘下若干枣子,当即吃掉了一半,不过瘾又多吃了一个;第二天吃了剩下的一半又多吃了一个;以后每一天都吃了前一天剩下的一半多一个。到第十天小猴再想吃时,见到只剩下一只枣子了。问第一天这堆枣子有多少? 13:有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的大小都一样,但货箱的重量都各不相同。设第i个货箱的重量为wi(1≤i≤n),而货船的最大载重量为c,如何在货船上装入最多的货物。 14:小球从10米高处自由下落,每次弹起的高度是下落高度的70%,当小球弹起的高度不足原高度的千分之一时,小球很快会停止跳动,计算小球在整个弹跳过程中所经历的总路程(忽略弹起高度不足原高度千分之一的部分)。 15、JS下有一个字符串var str='1|2|3|4|5|6#1|2|3|4#1|2|3|4|5|6|7|8';请用“#”号将其分割为数组,再用“|”将其分割为2维数组。可以用例如ary[0][0]这样的各式取出数组中的每个元素。最后输出其中最长数组的编号(1,2,3这样的自然数),这个数组中元素的个数。以及大数组中每个元素。如图:
Excel 常用电子表格公式大全【汇总篇】 篇一:Excel 常用电子表格公式汇总 Excel 常用电子表格公式汇总 1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 2、用出生年月来计算年龄公式: =TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。 3、从输入的 18 位身份证号的出生年月计算公式: =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1," 男 "," 女 "),IF(MOD(MID(C2,17,1),2)=1," 男 "," 女 ")) 公式内的“C2”代表的是输入身份证号码的单元格。 5、求和: =SUM(K2:K56)——对 K2 到 K56 这一区域进行求和; 6、平均数: =AVERAGE(K2:K56)——对 K2 K56 这一区域求平均数; 7、排名: =RANK(K2,K$2:K$56)——对 55 名学生的成绩进行排名; 8、等级: =IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格"))) 9、 学期总评: =K2*0.3+M2*0.3+N2*0.4 ——假设 K 列、 M 列和 N 列分别存放着学生的“平 时总评”、“期中”、“期末”三项成绩; 10、最高分: =MAX(K2:K56) ——求 K2 到 K56 区域(55 名学生)的最高分; 11、最低分: =MIN(K2:K56) ——求 K2 到 K56 区域(55 名学生)的最低分; 12、分数段人数统计: (1) =COUNTIF(K2:K56,"100") ——求 K2 到 K56 区域 100 分的人数;假设把结果存放于 K57 单元格; (2)=COUNTIF(K2:K56,">=95")-K57 ——求 K2 到 K56 区域 95~99.5 分的人数;假设把结 果存放于 K58 单元格; (3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58)——求 K2 到 K56 区域 90~94.5 分的人数; 假设把结果存放于 K59 单元格; (4) =COUNTIF(K2:K56,">=85")-SUM(K57:K59)——求 K2 到 K56 区域 85~89.5 分的人数; 假设把结果存放于 K60 单元格; (5) =COUNTIF(K2:K56,">=70")-SUM(K57:K60)——求 K2 到 K56 区域 70~84.5 分的人数; 假设把结果存放于 K61 单元格; (6) =COUNTIF(K2:K56,">=60")-SUM(K57:K61)——求 K2 到 K56 区域 60~69.5 分的人数; 假设把结果存放于 K62 单元格; (7) =COUNTIF(K2:K56," 说明:COUNTIF 函数也可计算某一区域男、女生人数。 如:=COUNTIF(C2:C351,"男") ——求 C2 到 C351 区域(共 350 人)男性人数; 1 / 10
大家在浏览网页的时候,都会看到每篇文章都会会显示“上一页”“下一页”。下面跟大家分享一下如何用php实现简单的分页功能。 首先,先创建一个mysql表: SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `test` -- ---------------------------- DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `id` int(5) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1; 然后在里面插入数据: -- ---------------------------- -- Records of test -- ---------------------------- INSERT INTO `test` VALUES ('1', '张三'); INSERT INTO `test` VALUES ('2', '李四'); INSERT INTO `test` VALUES ('3', '王五'); INSERT INTO `test` VALUES ('4', '赵六');
INSERT INTO `test` VALUES ('5', '阿萨达'); INSERT INTO `test` VALUES ('6', '回火'); INSERT INTO `test` VALUES ('7', 'adada'); 然后新建一个php文件,连接数据库: header("content-type:text/html;charset=UTF-8");//防止页面乱码$link = mysql_connect("localhost","root","") or die("数据库连接失败"); $result = mysql_select_db("test",$link); mysql_query("SET NAMES 'utf8'");//设置数据库连接编码 然后调取数据,并且计算出该表里面总共有多少条数据: function selectdata(){ $sql = "SELECT name FROM `test` ORDER BY id desc"; $arr = array(); $result = mysql_query($sql); while ($array = mysql_fetch_row($result)) { $arr[] = $array; } return $arr; } function selectdatabypages($limit1,$limit2){ $sql = "SELECT name FROM `test` ORDER BY id desc LIMIT $limit1,$limit2";
PHP动态网站开发试卷 一,单选题(3分×20,共60分) 1.选择合适的答案填入空白处( ) PHP 是一种______脚本语言,基于______引擎。PHP 最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。B A.动态,PHP,数据库,HTML B.嵌入式,Zend,HTML,XML C.基于Perl 的,PHP,Web,静态 D.嵌入式,Zend,Docbook 文档,MySQL 2.以下哪种标签不是PHP 起始/结束符?( ) A.<% %> B.// C. D./* */ 3.以下代码哪个不符合PHP 语法?( ) A.$_10 B.${“MyVar”} C.&$something D.$10_somethings 4.如何访问会话变量(session)?( ) A.通过$_GET B.通过$_POST C.通过$_REQUEST D.以上都不对 5.print()和echo()有什么区别?( ) A.print()能作为表达式的一部分,echo()不能B.echo()能作为表达式的一部分,print()不能 C.echo()能在CLI(命令行)版本的PHP 中使用,print()不能 D.print()能在CLI(命令行)版本的PHP 中使用,echo()不能6.配置MySql服务器时可以设置一个管理员账号,其名称是( ) A.admin B.sa C.root D.system 7.如果你的脚本无法正确识别一个存储于另一个平台上的文件的行结尾,你该怎么办?( ) A. 改变auto_detect_line_ending的设置 B. 用正则表达式侦测行的最后一个字母C. 用fpos() D. 用ftok() 8.索引数组的键是______,关联数组的键是______。( ) A. 浮点,字符串 B. 正数,负数 C. 偶数,字符串 D. 整型,字符串 9.如何在类的内部调用mymethod 方法?( ) A. $self=>mymethod(); B. $this->mymethod(); C. $current->mymethod(); D. $this::mymethod(); 10.借助继承,我们可以创建其他类的派生类。那么在PHP 中,子类最多可以继承几个父类?( ) A. 1 个 B. 2 个 C. 取决于系统资源 D. 3 个 11.运行时(run-time)包含一个PHP 脚本使用______,而编译时(compile-time)包含一个PHP 脚本使用______。( ) A. include_once, include B. require, include C. require_once, include D. 以上皆可 12.如果不给cookie 设置过期时间会怎么样?( ) A. 立刻过期 B. 永不过期 C. cookie 无法设置 D. 在浏览器会话结束时过期 13.使用header()函数,它的功能是?( ) A.重定向浏览器 B.页眉函数 C.处理数据头的函数 D.以上都不对 14.下面那个函数是创建一个基于调色板的图像( ) A.imagecreatetruecolor() B.imagecreate() C.imagecolorallocate() D.imagedestroy() 15.输出一个扩展名为.jpg的图片,选用下面那个函数,进行输出( ) A.imagegif() B.imagejpeg() C.imagepng D.以上都不对 16.以下脚本输出什么?$time = strtotime ('2004/01/01');echo date ('H:\i:s', $time); ?> ( ) A. 0:00:00 B. 12:00:00 C. 00:i:00 D. 12:i:00 17.以下脚本在Windows 系统上输出什么?echo strtotime ("November 11, 1952");?> ( ) A. -14462 B. 14462 C.-1 D.0 18.以下代码运行结果( ) $a=”1+1+1”; $b=100; echo $a+$b; ?> A.字符串与整型不可以相加,报错 B.100 C. 101 D.不确定 19.以下代码执行结果为:( )
PHP支持哪些数据库 PHP通过安装相应的扩展来实现数据库操作,现代应用程序的设计离不开数据库的应用,当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Oracle,PostgreSQL,Access等,这些数据库PHP都能够安装扩展来支持,一般情况下常说的LAMP架构指的是:Linux、Apache、Mysql、PHP,因此Mysql数据库在PHP中的应用非常广泛,我们会在本章中简单的了解Mysql的操作方法。 数据库扩展 PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。 不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。mysql扩展进行数据库连接的方法: mysqli扩展: PDO扩展
PHP要对数据库进行操作,首先要做的是与数据库建立连接,通常我们使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。 通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。 通过上面的步骤,我们就与数据库建立了连接,可以进行数据操作了。 关闭MySQL数据库 Mysql_close()—关闭数据库连接;
Mysql_select_db()—选择数据库; 执行SQL语句 Mysql_query()—执行一条sql语句 执行MySQL查询 在数据库建立连接以后就可以进行查询,采用mysql_query加sql语句的形式向数据库发送查询指令。 对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。
如果匹配不到内容就直接返回空值: =IFERROR(VLOOKUP($A2,Sheet2!$A$2:$L$99,5,0),"") 如果A2的单元格不为空就进行匹配,如匹配不到内容则直接返回空,如匹配有内容则将匹配到的文本类型的数字转化为数字类型可求和的数字 =IFERROR(IF(A2<>"",VALUE(VLOOKUP($A2,Sheet2!$A$2:$L$99,5,0)),""),"") 注意:Sheet2表格内的数据由于被引用不能直接删除单元格,只能粘贴替换或选择“清除内容”。 如果A1单元格为空,则为空,如果A1单元格不为空,则求和A1到A5的数值: =IF(A1=””,””,SUM(A1:A5)) 截取单元格中指定字符后的所有文本(不包括指定字符): 截取D5单元格中“市”字后面的所有文本: =MID(D5,FIND("市",D5,1)+1,LEN(D5)-FIND("市",D5,1)) 查找“市”字在D5单元格中的位置并往后移一位得到“市”字后面的第一个字的所在位置字符长度的数字: =FIND("市",D5,1)+1 D5单元格的字符总长度数字减去“市”字前的长度数字得到“市”字后面字符长度的数字(不包括“市”字和“市”字之前的字符): =LEN(D5)-FIND("市",D5,1) excel判断两个单元格是否相同 如果只是汉字,用如下公式 =IF(A1=B1,"相同","不同") 如果包含英文且要区分英文大小写,用如下公式 =IF(EXACT(A1,B1),"相同","不同") 将两个不同表单或表格的内容自动查找相应内容合并在一个表格内:=VLOOKUP(I2,A1:D41,4,0) =VLOOKUP(两表中相同的值,其它表单或表格区域,要匹配值所在的列的数目,0) 将截取后的数字转为数字格式显示(利于计算统计)=VALUE(MID(D2,1,10))
php分页类代码 GetPagerContent(); echo $pageStr; */ class Pager { private $pageSize = 10; private $pageIndex; private $totalNum; private $totalPagesCount; private $pageUrl; private static $_instance; public function __construct($p_totalNum, $p_pageIndex, $p_pageSize = 10,$p_initNum=3,$p_initMaxNum=5) { if (! isset ( $p_totalNum ) || !isset($p_pageIndex)) { die ( "pager initial error" ); } $this->totalNum = $p_totalNum; $this->pageIndex = $p_pageIndex; $this->pageSize = $p_pageSize; $this->initNum=$p_initNum; $this->initMaxNum=$p_initMaxNum;
竭诚为您提供优质文档/双击可除 php,表格制作 篇一:使用php和jquery制作分页和表格 使用php和jquery制作分页和表格 如果您已经下载了本站提供的baseproject项目源码,后台中列表页面均可作为示例,其中文章列表页面的功能最为丰富。如果您没有下载该源码,相关的js文件可以从获得,示例页面为页面。以下是后台文章列表页面的截图。 分页和表格功能实例截图分页功能详解 分页功能用于当目标数据过多时,为提高页面展示速度采用的一种手段。本文中的分页功能借用了zendFramework 中的zend_paginator对象,分页适配器为 zend_paginator_adapter_null。该适配器也是最简单 易用的一个。工作原理 在php端,分页功能的基本参数为记录总数($countRows)、每页显示的记录数 ($rowsperpage)、当前页码($page默认值为1),页码 数量($items指每次在页面上显示多少个页码,建议为单数)。其他参数可以通过计算得到:
1.页码合计($countpages)取不小于 $countRows/$rowsperpage的整数; 2.起始页码和结束页码的计算方式太长不写了; 3.页码列表:从起始页码到结束页码的页码组成的数组,如array(4,5,6,7,8) 在html端,必要的参数为php端计算得出的数据,同 时需要指定一个用于显示分页信息的html元素。然后使用jquery根据参数动态生成html并将其插入到指定的html元素中 就行了。 php示例代码详解1. 2.publicfunctionarticlesaction(){$pagenumber=$this- >getRequest()->getparam(page,1);//获取当前页码,如果未指定则设为1 3.$sortby=$this->getRequest()->getparam(sortby);// 获取sortby设置 4.if(empty($sortby)||!preg_match(/^[a-z0-9_-]+(asc| desc)$/i,$sortby)){ 5.//如果sortby为空或者不符合格式要求则使用以下
学习php前需要掌握的基础知识学习php前需要掌握的基础知识 html,css,javascript主要是用来做前台页面的,有人会问, 既然我是学php,做的是后台程序,为什么要学前台制作呢?再说,大公司对于前台,后台,美工等不都有明确分工吗,还用的`着我去写?是的,但是那是大公司,对于小公司来讲这些都是要一个人完 成的。从页面设计,页面布局,美工,再到后台处理都是一个人或 者几个人完成,没有明确的分工。所以必须前台,后台都会。在大 公司里面,虽然有明确的分工,前台的这些东西虽然不要求你写, 但是你必须要看得懂。 mysql要掌握的就是sql语句,无非就是增、删、该、查,还有 数据库优化等,这些比较简单,学起来也比较快,也是必须要掌握 的知识。 至于ajax,jquery这些知识,当你的php学到一定程度的时候,可以考虑去学这些,因为在很多大型项目里面都要用到ajax,特别 是聊天室。 下面列出学习php需要做到的: 1,保证你在手册的帮助下能看懂PHP代码。 2,保证你可以基本使用MySQL,常用的查询,包括联合查询都 要会。MySQL的安装和用户权限配置要会。 3,保证你熟练使用table,理解HTML的数据组织和显示逻辑。 4,保证你理解CSS并可以进行DIV+CSS的布局,掌握 DIV,UL,DL,SPAN,P等常见标记。(如果是专业人员,还要学习浮动,定位,lightbox等)。
5,保证你可以写常用的Javascript代码,并开始学习Javascript的库,例如Jquery。学习JS的库记住不要一下子去看 源代码,先看手册然后根据例子学习,学会调用就可以了。(专业 前台要研究库文件)。 1~5完成后,你就掌握了基本功,并且具备了单个文件处理问题 的能力。这个时候开始学习业务逻辑。什么业务逻辑呢,就是通过 代码的组织做出一个一个使用的功能。最基本的就是留言本了。这 个部分最重要的就是理解,网站显示习惯,设置习惯,管理习惯, 用户发布习惯。 6,熟练编写留言本。可以熟练地通过几个PHP文件来实现小功能。比如,那些文件用来显示,哪些文件用来管理,哪些文件用来 发布内容。并且粗略了解了会员功能。(可以下载留言本程序研究 学习)。 7,开始接触大点的项目。先了解网站的网页流程。培养流程思路。这个时候,可以多装几个开源的PHP产品(包括国内外的), 例如Discuz,DeDeCMS,Drupal等等。先不看这些产品的核心代码。看些配置,安装,模板的应用和接口 8,开始了解网站业务架构,包括前台,后台,会员,数据流 (用户到数据库,数据库到用户)。熟练掌握流程设计,比如要增 加一个图片上传功能,需要几个文件。 9,找工作进行实践,一开始不要太挑剔,但是一定要找让你发 挥的公司,开始接触客户需求,如何整理文档,解决bug。 10,在工作半年到一年左右,开始进行总结,根据选择的公司和你所做的应用,开始总结开发模式,模板引擎,数据库设计等。
这篇文章主要为大家详细分享了laypage分页控件使用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文的主要目的就是为大家分享layPage 多功能的js分页组件具体操作方法,供大家参考,具体内容如下 php 部分 function index(){ header('Content-Type:text/html;charset=utf-8'); // 获取当前页码,默认第一页,设置每页默认显示条数 $nowpage = I('get.page', 1, 'intval'); $limits = 8; // 获取总条数 $count = M('Article') -> where(array('status'=>array('egt', 0))) -> count(); // 计算总页面 $allpage = ceil($count / $limits); $allpage = intval($allpage); $lists = M('Article') -> where(array('status'=>array('egt', 0))) -> page($nowpage, $limits) // page 方法分页 -> order('createtime desc') -> select(); // 跳转分页输出 $this -> assign('lists', $lists); $this -> assign('allpage', $allpage); $this -> assign('nowpage', $nowpage); $this->display(); /* // ajax 分页输出 $info = array('lists'=>$lists,'allpage'=>$allpage,'nowpage'=>$nowpage); $this->ajaxReturn($info,'json'); */ } js 中laypage(新版本) 跳转分页 // 分页 laypage({ cont: 'show_pages', // 分页容器 pages: "{$allpage}", // 总页数 skip: true, //是否开启跳页 curr: function(){ var page = "{$nowpage}"; // 当前页(后台获取到的) return page ? page : 1; // 返回当前页码值 }(), jump: function(e, first){ //触发分页后的回调(单击页码后) if(!first){ //一定要加此判断,否则初始时会无限刷新
一、单项选择题(每题2分,共60分) 1.函数header()不可以被用来(B)。 A、转到指定的url B、引用js文件 C、设置HTTP首部信息状态码 D、提示下载文件 2.下列函数中哪一项不是字符串操作函数(B)。 A、tirm() B、isset() C、explode() D、strlen() 3.在PHP中,error_reporting(0)表示(A)。 A、表示关闭所有的错误报告,除编译错误外。 B、表示打开所有的错误报告。 C、表示关闭所有的错误报告,包括编译错误。 D、表示打开所有的错误包括,不包括编译错误。 4.下列有关获取上传文件的信息的预定义数据变量的写法正确的是(D)。 A、$FILES B、_FILES C、__FILES D、$_FILES 5.在PHP中,有关CMS的说法错误的是(D)。 A、CMS是Content Management System的缩写 B、CMS的中文意思是“内容管理系统” C、CMS可以被用来建立网站 D、CMS是一种PHP的开发框架 6.下列选项中对访问控制符public的说法正确的是(B)。 A、有效范围为类的内部和外部,不能被子类所继承。 B、有效范围为类的内部和外部,可以被子类所继承。 C、有效范围为类的内部,可以被子类所继承。 D、有效范围为类的内部,不能被子类所继承。 7.setcookie("vipname","tom",time()+1000); 有关上述代码的描述错误的是(D)。 A、该代码设置了一个变量名为vipname的cookie B、该代码设置了一个变量值为tom的cookie C、该变量的存活期限为1000秒 D、该变量的存活期限为1秒 8.使用$_FILES获取上传文件的大小,大小的单位是(C)。 A、KB B、MB C、B D、BB 9.下列有关于phpmyadmin的说法中正确的是(B)。 A、是一种php专属的web服务器 B、是一种MySQL的管理工具
PHP网站开发必用知识点总结,函数一览,开发必背 魔术方法 __construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。 __destruct() 当删除一个对象或对象操作终止的时候,调用该方法。 __get() 当试图读取一个并不存在的属性的时候被调用。 __set() 当试图向一个并不存在的属性写入值的时候被调用。 __call() 当试图调用一个对象并不存在的方法时,调用该方法。 __toString() 当打印一个对象的时候被调用 __clone() 当对象被克隆时,被调用 __isset() __unset() __autoload($classname) __sleep() __wakeup() 系统常量 __FILE__ 当前文件名 __LINE__ 当前行数 __FUNCTION__ 当前函数名 __CLASS__ 当前类名 __METHOD__ 当前对象的方法名 PHP_OS 当前系统 PHP_VERSION php版本 DIRECTORY_SEPARATOR 根据系统决定目录的分隔符/\ PATH_SEPARATOR 根据系统决定环境变量的目录列表分隔符; : E_ERROR 1 E_W ARNING 2 E_PARSE 4 E_NOTICE 8 M_PI 3.141592 $_SERVER $_ENV 执行环境提交至脚本的变量 $_GET $_POST $_REQUEST $_FILES $_COOKIE $_SESSION $_GLOBALS 输出
echo //Output one or more strings print //Output a string print_r() //打印关于变量的易于理解的信息。 var_dump() //打印变量的相关信息 var_export() //输出或返回一个变量的字符串表示 printf("%.1f",$num) //Output a formatted string sprintf() //Return a formatted string 编码转换 string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] ) iconv(); 时间 date_default_timezone_set("PRC"); date("Y-m-d H:i:s"); time(); date("Y-m-d H:i:s",time()+3600) ini_set('date.timezone', 'PRC'); msec sec microtime() 以秒返回时间戳explode(' ', microtime()) 错误处理 @1/0 error_reporting(E_ALL) 显示所有错误 error_reporting(0) trigger_error("Cannot divide by zero", E_USER_ERROR); try { throw new Exception("执行失败"); } catch (Exception $ex) { echo $ex; } 字符串处理 string trim("eee ") trim ('ffffe','e') //ltrim rtrim array explode(".", "fff.ff.f") 按指定字符切割 string implode(".", $array) 别名:join 把数组值数据按指定字符连接起来 array str_split("eeeeeeee",4) 按长度切割字符串 array split("-","fff-ff-f") 按指定字符切割 int strlen('ffffffff') 取字符长度 string substr ( string $string , int $start [, int $length ] ) substr($a,-2, 2) 截取字符 int substr_count($text, 'is') 字符串出现的次数