随笔分类 -  ThinkPHP

摘要:在项目开发中,查询数据时经常用到where条件查询来过滤数据; 有时就需要一个input输入框判断多个字段查询,这时候我们就需要使用组合查询方法来实现; 说明:组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string)、复合查询(_complex)、请求字 阅读全文
posted @ 2018-07-16 14:43 申文哲 阅读(13169) 评论(0) 推荐(2) 编辑
摘要:首先介绍下短信注册登录流程: 一句话:点击获取手机验证码 >提交手机号到后台 >后台生成手机验证码 >用session保存手机验证码及手机号 >用阿里云短信服务平台的接口发送给用户 >用户输入手机号验证码并提交 >后台比较提交的验证码是否与session保存的一致 >返回判断状态; 阿里云短信服务( 阅读全文
posted @ 2018-05-30 16:44 申文哲 阅读(7186) 评论(0) 推荐(0) 编辑
摘要:在实例化的过程中,经常使用D方法和M方法, 区别在于:M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会自动调用M方法。 通俗一点说:1.M实例化参数是数据库的表名,D实例化的是你自己在Model模型层文件夹下面建立的模型文件; 2.M则是通过直接实例化Model方 阅读全文
posted @ 2018-05-03 14:47 申文哲 阅读(8339) 评论(0) 推荐(0) 编辑
摘要:当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简; TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调用就可以使用,方便快捷; 具体实现方便如下: 我们可以再三个地方设置公共的函数function.ph 阅读全文
posted @ 2017-09-11 17:46 申文哲 阅读(5355) 评论(0) 推荐(0) 编辑
摘要:第一步:开启php_fileinfo.dll 方法:打开php.ini,将874行的;extension=php_fileinfo.dll前面的分号注释去掉即可; 第二步:控制层封装文件下载函数 其中$file为文件的绝对路径,在view层点击下载文件按钮,传入控制层即可; 阅读全文
posted @ 2017-07-27 16:38 申文哲 阅读(1116) 评论(5) 推荐(1) 编辑
摘要:开发环境: 语言:PHP 框架:ThinkPHP 问题:在引用插件My97DatePicker时,想实现:开始日期不能大于结束日期,结束时间不能小于开始时间 步骤一、查看文档官方文档http://www.my97.net/dp/demo/index.htm可以看到实现办法如下: 步骤二、按照文档说明 阅读全文
posted @ 2017-07-12 15:51 申文哲 阅读(1312) 评论(2) 推荐(1) 编辑
摘要:在我们的实际开发者,我们经常需要链接两个以上的数据库,方法跟简单 Thinkphp文档中也有介绍:点击查看 方法如下: 第一步:配置文件config.php 第二步:Controller控制器调用配置中的两个数据库 完成; 阅读全文
posted @ 2017-07-04 18:14 申文哲 阅读(3041) 评论(0) 推荐(0) 编辑
摘要:打开项目中的配置文件,添加session的过期配置,如下: 阅读全文
posted @ 2017-06-09 17:44 申文哲 阅读(5771) 评论(0) 推荐(2) 编辑
摘要:代码虐我千百遍,我对代码如初恋~ 问题: 查询某字段app_date数据是否为NULL,正常我们实现的办法是: 利用echo M("Info")->getLastSql(); 打印sql语句如下: SELECT `id`,`name`,`create_time`,`app_data` FROM `i 阅读全文
posted @ 2017-06-07 18:59 申文哲 阅读(7288) 评论(0) 推荐(0) 编辑
摘要:第一步:下载官方的PHPExcel文件,下载地址https://github.com/PHPOffice/PHPExcel 第二步:解压打开,将PHPExcel\Classes\全部文件拷贝到thinkhp项目的根目录\ThinkPHP\Library\Vendor\,如下图所示 第三步(导入): 阅读全文
posted @ 2017-05-17 19:23 申文哲 阅读(1048) 评论(0) 推荐(0) 编辑
摘要:方法一、 DISTINCT 方法用于返回唯一不同的值 。 *distinct方法的参数是一个布尔值。 用法: 生成的SQL语句是: SELECT DISTINCT name FROM think_user 方法二、 GROUP方法也是连贯操作方法之一,通常用于结合合计函数,根据一个或多个列对结果集进 阅读全文
posted @ 2017-05-08 18:48 申文哲 阅读(1170) 评论(0) 推荐(0) 编辑
摘要:在Thinkphp框架下根目录打开index.php 在头部加入如下代码即可: 阅读全文
posted @ 2017-05-05 18:31 申文哲 阅读(2343) 评论(0) 推荐(0) 编辑
摘要:1.在使用UEditor编辑器编写内容时你会发现,当输入的内容较多时,编辑框的边框高度也会自动增加,若希望输入内容较多时以拉框滚动的效果。 方法:找到Ueditor文件根目录下的ueditor.config.js,用编译器打开,看到282~286行代码如下: 现修改成如下:(编译器拖动的最小高度可自 阅读全文
posted @ 2017-03-21 14:59 申文哲 阅读(6306) 评论(0) 推荐(0) 编辑
摘要:HTML代码如下: JS控制点击刷新代码如下: 方法一: 方法二(推荐使用此方法,简洁): 阅读全文
posted @ 2017-02-16 15:12 申文哲 阅读(3784) 评论(0) 推荐(0) 编辑
摘要:在Thinkphp框架下使用get_client_ip()函数获取客户端IP地址十分方便; 一行代码便可以实现:$ip = get_client_ip(); 但当我们测试时会遇到后台获取的IP地址显示的是局域网内的IP地址,而不是用户客户端真正的IP地址; 解决此问题办法如下:(此方法是在官方thi 阅读全文
posted @ 2016-11-22 14:39 申文哲 阅读(11532) 评论(0) 推荐(0) 编辑
摘要:查看thinkphp版本号方法 打开文件“根目录\ThinkPHP\ThinkPHP.php”下的文件ThinkPHP.php,在22--23行可以看到版本信息THINK_VERSION,如下图: 说明:此方法不破坏原有的Thinkphp框架,对以后框架升级没影响,并且可以共用前台的model和co 阅读全文
posted @ 2016-11-17 21:13 申文哲 阅读(3954) 评论(7) 推荐(2) 编辑
摘要:在ThinkPHP3.2版本中当我们访问不存在的页面时会出现非常不友好错误提示页面,类如下图: 解决办法: 1.在ThinkPHP3.2详细的介绍了该框架下的ThinkPHP惯例配置文件convention.php(文件位置:根目录/ThinkPHP/Conf/convention.php),里面列 阅读全文
posted @ 2016-09-21 21:03 申文哲 阅读(6798) 评论(2) 推荐(0) 编辑
摘要:1.从数据库读取富文本内容样式如下: <p style=";text-indent: 0;padding: 0;line-height: 26px"><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px"& 阅读全文
posted @ 2016-09-13 14:49 申文哲 阅读(9099) 评论(0) 推荐(2) 编辑
摘要:当我们设置字段大意的使用数据库关键字,会报与数据库有关错误,原因就是字段误与数据库关键字冲突造成。 解决办法:1.修改字段名字。 2.采用数组的方式进行调用。例如:thinkphp3.2手册中order排序中冲突的解决办法http://document.thinkphp.cn/manual_3_2. 阅读全文
posted @ 2016-08-03 16:31 申文哲 阅读(2103) 评论(0) 推荐(0) 编辑
摘要:在对html样式进行优化的时候,经常会用到Js/jquery进行一些跳转切换的样式,而我们常做的就是在Js/jquery代码中嵌url图片链接代码,以实现动态交互的页面效果。 如下图所示: 问题:Js文件不认识__PUBLIC__这些thinkphp独特的链接,所以要我们自己重新定义url地址,才能 阅读全文
posted @ 2016-07-13 11:58 申文哲 阅读(4198) 评论(0) 推荐(1) 编辑