PHP+MYSQL留言板代码
中级php面试题及答案(3篇)

第1篇一、PHP基础题1. 请简述PHP的执行流程。
答:PHP代码的执行流程如下:(1)解析:PHP解释器首先读取PHP文件,然后对代码进行语法分析,将代码转换为中间代码。
(2)编译:PHP解释器将中间代码编译成字节码。
(3)执行:PHP虚拟机执行字节码,完成代码的功能。
2. 简述PHP的魔术方法。
答:魔术方法是PHP中一种特殊的方法,以双下划线开头和结尾,主要有以下几种:(1)构造函数:__construct()(2)析构函数:__destruct()(3)属性访问控制方法:getXXX()、setXXX()、callXXX()(4)克隆方法:__clone()(5)唤醒方法:__wakeup()3. 简述PHP中的数据类型。
答:PHP中的数据类型主要有以下几种:(1)基本数据类型:整型(int)、浮点型(float)、字符串(string)、布尔型(bool)(2)复合数据类型:数组(array)、对象(object)(3)特殊数据类型:NULL、资源(resource)4. 简述PHP中的常量。
答:常量是在程序运行过程中不可改变的变量,主要有以下几种定义方式:(1)使用define()函数定义:define("常量名",值);(2)使用const关键字定义:const 常量名 = 值;5. 简述PHP中的变量。
答:变量是在程序运行过程中可以改变的存储空间,主要有以下几种定义方式:(1)使用$符号定义:$变量名 = 值;(2)使用var关键字定义:var $变量名 = 值;二、面向对象编程题1. 简述面向对象编程的三大特征。
答:面向对象编程的三大特征为:(1)封装:将数据和操作数据的方法封装在一起,隐藏内部实现细节。
(2)继承:允许一个类继承另一个类的属性和方法。
(3)多态:允许不同的对象通过共同的接口进行操作。
2. 简述PHP中的访问修饰符。
答:PHP中的访问修饰符主要有以下三种:(1)public:允许类内部、子类和外部访问。
PHP7兼容mysql_connect的方法

PHP7兼容mysql_connect的⽅法在php7版本的时候,mysql_connect已经不再被⽀持了,本⽂将讲述在代码层⾯实现php7兼容mysql系列,mysql_connect等操作。
PHP7不再兼容mysql系列函数,⼊mysql_connect等操作,强⾏操作报错:Uncaught Error: Call to undefined function mysql_connect(),所以我们要采⽤mysqli系列的操作mysql⽅式,让PHP7兼容mysql_connect操作有两种⽅式,⼀种是安装mysql扩展,另⼀种是在代码层定义mysql_connect等函数,来兼容原来的操作,当然,这种操作只是⾃⼰定义了函数,内部操作还是mysqli系列的。
兼容代码:$dbhost = DATA_HOST;$dbport = 3306;$dbuser = DATA_USERNAME;$dbpass = DATA_PASSWORD;$dbname = DATA_NAME;if(!function_exists('mysql_connect')){function mysql_connect($dbhost, $dbuser, $dbpass){global$dbport;global$dbname;global$mysqli;$mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);return$mysqli;}function mysql_select_db($dbname){global$mysqli;return mysqli_select_db($mysqli,$dbname);}function mysql_fetch_array($result){return mysqli_fetch_array($result);}function mysql_fetch_assoc($result){return mysqli_fetch_assoc($result);}function mysql_fetch_row($result){return mysqli_fetch_row($result);}function mysql_query($query){global$mysqli;return mysqli_query($mysqli,$query);}function mysql_escape_string($data){global$mysqli;return mysqli_real_escape_string($mysqli, $data);}function mysql_real_escape_string($data){return mysql_real_escape_string($data);}function mysql_close(){global$mysqli;return mysqli_close($mysqli);}}。
php用户登录页面代码源代码

//登入页面$conn=mysql_connect('127.0.0.1','root','')or die("连接失败");mysql_select_db('tujian',$conn)or die("未找到该数据库");define(ALL_PS,"vivid"); mysql_query("set names GBK");if($_POST[submit]){$postcode=strtolower($_POST["code"]);$postcode=strtoupper($_POST["code"]);$uid=str_replace(" ","",$_POST[uid]);$sql="select * from users where `uid`='$_POST[uid]'";$query=mysql_query($sql);$user=is_array($row=mysql_fetch_array($query));$mi=$user?md5($_POST[pass].ALL_PS)==$row[pass]:FALSE;if($mi){$_SESSION[uid]=$row[uid];$_SESSION[name]=$row[name];$_SESSION[id]=$row[id];$_SESSION[user_shell]=md5($row[uid].$row[pass].ALL_PS);if( $_SESSION["code"]==$postcode){echo"<script>alert('登录成功!');location.href='index.php';</script>";}else{echo"<div class='show'>验证码输入错误,请重新输入!</div>";}}else{echo"<div class='show'>用户名或密码输入错误</div>";session_destroy();}}><SCRIPT language=javascript>function Checklogin(){if(myform.uid.value=="账号/学号"){alert("请填写登录名");myform.uid.focus();return false;}if(myform.pass.value=="密码/身份证后六位数"){alert("密码不能为空");myform.pass.focus();return false;if(myform.code.value=="验证码"){alert("请填写验证码");myform.code.focus();return false;}}</SCRIPT><style type="text/css"><!--body {background-image: url(images/user_loginbg.jpg); }--></style><style type="text/css"><!--.STYLE1 {color: #000000;font-size: 18px;}body {background-color: #f7f4f6;}.position{position: absolute;top: 10pxright: 200pxwidth: 296px;left: 878px;top: 161px;height: 304px;width: 258px;}.position2{position: absolute;left:63px;top:250px;}.position3{position:absolute;left: 935px;top: 122px;font-size:25px;font-family: Arial, Helvetica, sans-serif;}.STYLE8 {position: absolute;font-size: 30px;font-family: Arial, Helvetica, sans-serif;color: #0000FF;top: 0px;left: 40px;}.STYLE9 {font-size: 18px;font-family: "宋体";}.STYLE10 {font-family: "Courier New", Courier, monospace;font-weight: bold;}.STYLE11 {color: #FFFFFF;font-weight: bold;text-decoration:none;}.show{position:absolute;left:1135px;top:400px;}--></style><html><title>用户登录</title><body background="images/login.PN"><form action="" method="post" name="myform" onsubmit="return Checklogin();"><div class="position"><table width="296" height="250" align="right" bordercolor="#ffffff" bgcolor="#ffffff"><tr><td width="292" height="37" bgcolor="#ffffff"> <h1 class="STYLE1"> 欢迎登录</h1></td> </tr><tr><td><div align="center"><br> <input type="text" value="账号" onfocus="if(value=='账号') {value=''}" onblur="if (value=='') {value='账号'}" name="uid" style="width:180px;height:25px;color:#939597;"/><br></div></td></tr><tr><td> <div align="center"> <input type="text" value="密码" onfocus="if(value=='密码') {value=''}" onblur="if (value=='') {value='密码'}" name="pass" style="width:180px;height:25px;color:#939597;"/><br></div></td></tr><br><tr><td> <div align="center"> <input type="text" value="验证码" onfocus="if(value=='验证码') {value=''}" onblur="if (value==''){value='验证码'}" name="code" style="width:80px;height:25px;color:#939597;"/> <span style="color:#867e82;font-size:10pt;">填写下图所示文字</span><br /> <img src="code.php?" alt="点击刷新" onClick="this.src=this.src+'?'" /><span size="20px"style="color:#867e82;font-size:10pt;">看不清?点击图片刷新</span></p></div></td></tr><tr><td height="297"><div class="position2"> </div><span class="position2"><input type="submit" name="submit" style="background:#2c64f3; height:39px; width:110px; font-size: 24px; font-style: inherit; font-weight: normal;color:#fff" value="登入"/></span></td></tr></table></div><p class="STYLE8"> </p><p class="STYLE8"><span class="STYLE10">土建学院交流平台</span><span class="STYLE9"> 登录界面</span></p><p class="STYLE8"> </p><p class="STYLE8"> </p></form><p> </p><p> </p><p><div class="position3"><a href="register.php"class="STYLE11">立即注册</a></div></p></body></html>。
MySQL 添加注释(comment)

在MySQL数据库中,字段或列的注释是用属性comment来添加。
创建新表的脚本中,可在字段定义脚本中添加comment属性来添加注释。
示例代码如下:create table test(id int not null default 0 comment '用户id')如果是已经建好的表,也可以用修改字段的命令,然后加上comment属性定义,就可以添加上注释了。
示例代码如下:alter table testchange column id id int not null default 0 comment '测试表id'查看已有表的所有字段的注释呢?可以用命令:show full columns from table 来查看,示例如下:show full columns from test;1 创建表的时候写注释create table test1(field_name int comment '字段的注释')comment='表的注释';2 修改表的注释alter table test1 comment '修改后的表的注释';3 修改字段的注释alter table test1 modify column field_name int comment '修改后的字段注释';--注意:字段名和字段类型照写就行4 查看表注释的方法--在生成的SQL语句中看show create table test1;--在元数据的表里面看use information_schema;select * from TABLES where TABLE_SCHEMA='my_db' and TABLE_NAME='test1' \G5 查看字段注释的方法--showshow full columns from test1;--在元数据的表里面看select * from COLUMNS where TABLE_SCHEMA='my_db' and TABLE_NAME='test1' \G。
留言板制作流程

帖子留言制作流程1、首先创建一个liuyanban数据库,在数据库中创建三张表:Admin(用户表)字段有:admin_id,admin_name,admin_pwd,admin_time;Tiezi(帖子表)字段有:cord_id,cord_titile, cord_content,cord _author,cord_time; Lyb(留言表)字段有:l_id,l_name,l_content,t_time;2、(1)创建未登录之前的帖子首页(tiezi.html):页面布局顶部:用户名:文本框|密码:文本框|登录按钮中部:最新十条帖子<a>帖子标题</a>分页:1 2 3 4 5。
底部:页脚信息(2)创建未登录之前的帖子详细信息页面(txx.html)页面布局顶部:帖子标题帖子正文中部:留言条数(显示最新5条)不能提交留言分页:1 2 3 4 5。
底部:页脚信息(3)创建登陆之后的帖子页面(lyb.html)页面布局顶部:显示《欢迎***登陆此论坛》中部:最新十条帖子<a>帖子标题</a>分页:1 2 3 4 5。
底部:页脚信息(4)创建登陆之后的帖子详细信息页面(lxx.html)页面布局顶部:帖子标题帖子正文中部:留言条数(显示最新5条)留言人:文本框留言内容:文本域提交留言分页:1 2 3 4 5。
底部:页脚信息3、(1)tiezi.php将数据库帖子表和留言板表中的数据显示在前台页面(2)user.php验证用户登录信息。
登陆成功后,跳转至lyb.php(3) liuyan.php向数据库留言表中添加数据,跳转至lxx.php流程结束。
PHP常用代码大全

PHP常用代码1、连接MYSQL数据库代码<?php$connec=mysql_connect("localhost","root","root") or die("不能连接数据库服务器:".mysql_error()); mysql_select_db("liuyanben",$connec) or die ("不能选择数据库: ".mysql_error());mysql_query("set names 'gbk'");>2、读取数据库,并实现循环输出<?php$sql="select * from liuyan order by ly_id desc";$conn=mysql_query($sql,$connec);while($rs=mysql_fetch_array($conn)){>循环的内容.........<?php}>3、如何实现分页,包括两个函数,两个调用1)两个函数<?//分页函数function genpage(&$sql,$page_size=2){global $prepage,$nextpage,$pages,$sums; //out param$page = $_GET["page"];$eachpage = $page_size;$pagesql = strstr($sql," from ");$pagesql = "select count(*) as ids ".$pagesql;$conn = mysql_query($pagesql) or die(mysql_error());if($rs = mysql_fetch_array($conn)) $sums = $rs[0];$pages = ceil(($sums-0.5)/$eachpage)-1;$pages = $pages>=0?$pages:0;$prepage = ($page>0)?$page-1:0;$nextpage = ($page<$pages)?$page+1:$pages;$startpos = $page*$eachpage;$sql .=" limit $startpos,$eachpage ";}//显示分页function showpage(){global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function$shownum =10/2;$startpage = ($page>=$shownum)?$page-$shownum:0;$endpage = ($page+$shownum<=$pages)?$page+$shownum:$pages;echo "共".($pages+1)."页: ";if($page>0)echo "<a href=$PHP_SELF?page=0$queryString>首页</a>";if($startpage>0)echo " ... <b><a href=$PHP_SELF?page=".($page-$shownum*2)."$queryString>?</a></b>";for($i=$startpage;$i<=$endpage;$i++){if($i==$page) echo " <b>[".($i+1)."]</b> ";else echo " <a href=$PHP_SELF?page=$i$queryString>".($i+1)."</a> ";}if($endpage<$pages)echo "<b><a href=$PHP_SELF?page=".($page+$shownum*2)."$queryString>?</a></b> ... ";if($page<$pages)echo "<a href=$PHP_SELF?page=$pages$queryString>尾页</a>";}//显示带分类的分页function showpage1(){$fenlei=$_GET["fenleiid"];global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function$shownum =10/2;$startpage = ($page>=$shownum)?$page-$shownum:0;$endpage = ($page+$shownum<=$pages)?$page+$shownum:$pages;echo "共".($pages+1)."页: ";if($page>0)echo "<a href=$PHP_SELF?fenleiid=$fenlei&page=0$queryString>首页</a>";if($startpage>0)echo " ... <b><a href=$PHP_SELF?fenleiid=$fenlei&page=".($page-$shownum*2)."$queryString>?</a></b>";for($i=$startpage;$i<=$endpage;$i++){if($i==$page) echo " <b>[".($i+1)."]</b> ";else echo " <a href=$PHP_SELF?fenleiid=$fenlei&page=$i$queryString>".($i+1)."</a> ";}if($endpage<$pages)echo "<b><a href=$PHP_SELF?fenleiid=$fenlei&page=".($page+$shownum*2)."$queryString>?</a></b> ... ";if($page<$pages)echo "<a href=$PHP_SELF?fenleiid=$fenlei&page=$pages$queryString>尾页</a>";}>2)两个调用第一个<?php$sql="select * from liuyan order by ly_id desc";genpage($sql); //只需要正常代码加上这一行就ok。
MySQL中文参考手册MySQL学习总结-MySQL-API函数描述
MySQL函数描述、学习总结(适用版本:MySQL 3.23.7alpla)1. MySQL API (2)1.1. MySQL C API (2)1.2. C API数据类型 (3)1.3. C API函数概述 (6)1.4. C API函数描述 (9)1.4.1. mysql_affected_rows() (10)1.4.2. mysql_close() (11)1.4.3. mysql_connect() (11)1.4.4. mysql_change_user() (12)1.4.5. mysql_create_db() (13)1.4.6. mysql_data_seek() (14)1.4.7. mysql_debug() (15)1.4.8. mysql_drop_db() (15)1.4.9. mysql_dump_debug_info() (16)1.4.10. mysql_eof() (17)1.4.11. mysql_errno() (18)1.4.12. mysql_error() (19)1.4.13. mysql_escape_string() (20)1.4.14. mysql_fetch_field() (21)1.4.15. mysql_fetch_fields() (22)1.4.16. mysql_fetch_field_direct() (23)1.4.17. mysql_fetch_lengths() (23)1.4.18. mysql_fetch_row() (24)1.4.19. mysql_field_count() (26)1.4.20. mysql_field_seek() (27)1.4.21. mysql_field_tell() (28)1.4.22. mysql_free_result() (28)1.4.23. mysql_get_client_info() (29)1.4.24. mysql_get_host_info() (29)1.4.25. mysql_get_proto_info() (30)1.4.26. mysql_get_server_info() (30)1.4.27. mysql_info() (30)1.4.28. mysql_init() (31)1.4.29. mysql_insert_id() (32)1.4.30. mysql_kill() (32)1.4.31. mysql_list_dbs() (33)1.4.32. mysql_list_fields() (34)1.4.33. mysql_list_processes() (35)1.4.34. mysql_list_tables() (35)1.4.35. mysql_num_fields() (36)1.4.36. mysql_num_rows() (38)1.4.37. mysql_options() (38)1.4.38. mysql_ping() (40)1.4.39. mysql_query() (41)1.4.40. mysql_real_connect() (41)1.4.41. mysql_real_query() (43)1.4.42. mysql_reload() (44)1.4.43. mysql_row_seek() (45)1.4.44. mysql_row_tell() (45)1.4.45. mysql_select_db() (46)1.4.46. mysql_shutdown() (47)1.4.47. mysql_stat() (47)1.4.48. mysql_store_result() (48)1.4.49. mysql_thread_id() (49)1.4.50. mysql_use_result() (50)1.4.51. 为什么在mysql_query()返回成功后,mysql_store_result()有时返回NULL? (51)1.4.52. 我能从查询中得到什么结果? (51)1.4.53. 我怎样能得到最后插入的行的唯一ID? (52)1.MySQL API1.1. MySQL C APIC API代码是随MySQL分发的,它被包含在mysqlclient库且允许C程序存取一个数据库。
mysql—添加注释(comment)的用法
mysql—添加注释(comment)的⽤法在中,字段或列的注释是⽤属性comment来添加。
创建新表的脚本中,可在字段定义脚本中添加comment属性来添加注释。
⽰例代码如下:create table test(id int not null default 0 comment '⽤户id')如果是已经建好的表,也可以⽤修改字段的命令,然后加上comment属性定义,就可以添加上注释了。
⽰例代码如下:alter table testchange column id id int not null default 0 comment '测试表id'查看已有表的所有字段的注释呢?可以⽤命令:show full columns from table 来查看,⽰例如下:show full columns from test;1 创建表的时候写注释create table test1(field_name int comment '字段的注释')comment='表的注释';2 修改表的注释alter table test1 comment '修改后的表的注释';3 修改字段的注释alter table test1 modify column field_name int comment '修改后的字段注释';--注意:字段名和字段类型照写就⾏4 查看表注释的⽅法--在⽣成的SQL语句中看show create table test1;--在元数据的表⾥⾯看use information_schema;select * from TABLES where TABLE_SCHEMA='my_db' and TABLE_NAME='test1' \G5 查看字段注释的⽅法--showshow full columns from test1;--在元数据的表⾥⾯看select * from COLUMNS where TABLE_SCHEMA='my_db' and TABLE_NAME='test1' \G。
thinkphp db语句
thinkphp db语句ThinkPHP是一款基于PHP的开源框架,它提供了丰富的数据库操作方法,可以轻松实现数据库的增删改查操作。
在使用ThinkPHP进行数据库操作时,我们需要掌握一些基本的DB语句。
本文将介绍一些常用的ThinkPHP数据库操作语句。
1. 查询数据在ThinkPHP中,我们可以使用`db`方法进行数据库查询操作。
例如,我们可以使用以下语句查询所有的用户数据:```$data = db('user')->select();```上述语句中,`user`是数据库中的表名,`select`表示查询操作。
`db`方法返回的是一个包含查询结果的数组。
除了`select`方法,我们还可以使用`find`方法查询一条数据。
例如,我们可以使用以下语句查询ID为1的用户数据:```$data = db('user')->where('id', 1)->find();```上述语句中,`where`方法用于设置查询条件,`find`方法表示查询一条数据。
2. 插入数据要向数据库中插入数据,我们可以使用`insert`方法。
例如,我们可以使用以下语句向`user`表中插入一条新的用户数据:$data = ['name' => 'John','age' => 25,'email'=>'****************'];db('user')->insert($data);```上述语句中,`$data`是一个关联数组,表示要插入的数据。
3. 更新数据如果要更新数据库中的数据,我们可以使用`update`方法。
例如,我们可以使用以下语句将ID为1的用户的年龄更新为30:```db('user')->where('id', 1)->update(['age' => 30]);```上述语句中,`where`方法用于设置更新条件,`update`方法表示更新操作。
teddymvcphp
这个小程序一共包含6个文件,其中index.mppppm是程序入口、post.htm是留言表单、在lib 文件夹里Model、View 、Controller三个文件分别实现MVC,DataAccess是一个简单的数据库访问类。
复制MPPPPM内容到剪贴板MPPPPM代码:<?mppppm/*** 一个用来访问MySQL的类* 仅仅实现演示所需的基本功能,没有容错等* 代码未作修改,只是把注释翻译一下,加了点自己的体会*/class DataAccess {var $db; //用于存储数据库连接var $query; //用于存储查询源//! 构造函数./*** 创建一个新的DataAccess对象* @param $host 数据库服务器名称* @param $user 数据库服务器用户名* @param $pass 密码* @param $db 数据库名称*/function __construct($host,$user,$pass,$db) {$this->db=mysql_pconnect($host,$user,$pass); //连接数据库服务器mysql_select_db($db,$this->db); //选择所需数据库//特别注意$db和$this->db的区别//前者是构造函数参数//后者是类的数据成员}//! 执行SQL语句/*** 执行SQL语句,获取一个查询源并存储在数据成员$query中* @param $sql 被执行的SQL语句字符串* @return voidfunction fetch($sql) {$this->query=mysql_unbuffered_query($sql,$this->db); // Perform query here}//! 获取一条记录/*** 以数组形式返回查询结果的一行记录,通过循环调用该函数可遍历全部记录* @return mixed*/function getRow () {if ( $row=mysql_fetch_array($this->query,MYSQL_ASSOC) )//MYSQL_ASSOC参数决定了数组键名用字段名表示return $row;elsereturn false;}}?>下面再来介绍一下Model类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库结构:(库名:lyb) 表一: admin 字段: id(int11) name(varchvr) password(varchvr)
表二: lo 字段: id(int11) username(varchvr) sex(varchvr) qq(varchvr) email(varchvr) info(text) ip(varchvr) submit_time(datetime)
1、conn.php(连接数据库文件) mysql_connect("localhost","root","");//连接数据库 mysql_select_db("lyb");//选择数据库 ?>
2、header.php(公用头部文件) "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 银子留言板 Version 1.0 偶要看留言 偶要发表 session_start(); if($_SESSION["key"]==1){//如果获取的SESSION为1则显示管理项 ?> 退出管理 } else { ?> 偶要管理 银子留言板 Version 1.0
3、footer.php(公用底部文件)
$counterFile="conter.xml"; function displayCounter($counterFile){ $fp = fopen($counterFile,"rw"); $num = fgets($fp,5); $num += 1; print "
4、index.php(首页)
require_once("conn.php"); require_once("header.php"); session_start();
//分页代码开始 $pagesize = 10;//设置每页显示条数 $rs = mysql_query("select count(*) from lo");//取得记录总数,计算总页数用 $myrow = mysql_fetch_array($rs); $numrows = $myrow[0];//计算总记录
$pages = intval($numrows/$pagesize); if($numrows%$pagesize)$pages++;//设置页数 if(isset($_GET['page'])) { $page = intval($_GET['page']); } else { $page = 1;//设为第一页 } $offset = $pagesize*($page-1);//计算记录偏移量 //分页代码结束
$sql = "select id,username,sex,qq,email,info,ip,DATE_FORMAT(submit_time, '%Y年%m月%d日 %T' ) from lo order by id desc limit $offset,$pagesize";//用到了DATE-FORMAT格式化日期格式 $result = mysql_query($sql); $num = mysql_num_rows($result);
if($num>0){ while($row = mysql_fetch_array($result)) { //echo print_r($row); if($row[2]=="男")//这个使性别改成你想要的名称^_^ { $sex = "帅锅"; } else { $sex = "美女"; }
?>
第 [] 条留言
留言人: 性别: 留言时间: href="http://wpa.qq.com/msgrd?V=1&Uin=$row[3] ?>&Site=http://www.loai.cn&Menu=yes">/> src="img/email.gif" alt="" /> if($_SESSION["key"]==1){ ?> IP: href="update.php?wuleying&id=">更改 href="delete.php?wuleying&id=">删除
留言内容:
$first=1; $prev=$page-1; $next=$page+1; $last=$pages; if($page==1&&$pages>1) { echo "首页 | "; echo "上一页 | "; echo "下一页 | "; echo "尾页 | "; } elseif($page>=1&&$page!=$pages&&$num>0) { echo "首页 | "; echo "上一页 | "; echo "下一页 | "; echo "尾页 | "; } elseif($page==$pages&&$page!=1) { echo "首页 | "; echo "上一页 | "; echo "下一页 | "; echo "尾页 | "; } elseif($page==$pages) { echo "首页 | ";