ThinkPHP读出不重复的列表

ThinkPHP读出不重复的列表
Thinkphp去除重复的数据,找了半天的手册以及搜索了许多的资料都没有能够解决,本来想到先把读取的列表转化成数组,然后从数组里面去剔除,但是也比较麻烦,因为目前需要做一个区域人数的计算,也就是把重复的数据显示给去除掉,最后的解决还是在CDSN上面遇到大神给解决了。 Thinkphp一共提供了两个函数,一个是 distinct,一个是 group,其中使用 group实现了计算不重复数据的功能。 1 去除重复数据 disti...

Thinkphp使用setField更新多个字段

Thinkphp使用setField更新多个字段
在使用 Thinkphp中,setField是使用较多的一个函数,我通常是使用这个函数来更新单个字段的,非常好用,这天突然想到能否使用 setField更新多个指定字段,当然更新多个字段的话还是建议使用 save,这里仅为学习一下setField 的多个用法。 先看一下setField单个字段的更新,就很简单了,如下: public function update(){       header("Content-Type:text/html;...

php怎样保留两位小数且不四舍五入

php怎样保留两位小数且不四舍五入
记得之前因为项目的需求,做过一个php保留一位小数的算法,不过后来经过测试,并不起作用,还是会四舍五入然后保留一位小数,现在基本已经确定不管是使用 number_format 函数还是使用 sprintf 函数都是会四舍五入的,之前的文章是如下网页。 https://www.xiaoxueboke.com/article/4366.html 而最近的需求是一定要保留两位小数,并且不四舍五入,比如5.55923,使用php处理之后就是5.55,而不是5.56,好了,...

PHP页面文件怎么发送POST请求

PHP页面文件怎么发送POST请求
在做PHP接口的时候,是需要使用GET或者POST提交数据,然后远程服务器返回return值,提交数据我们通常使用的是form表单或者jquery的方式进行提交,可以同步获取到接口返回的数据,不过最近遇到一个需要PHP文件页面直接POST过去的问题,这样的操作其实是很少的,通常能解决的话都是直接form表单提交过去,既然遇到了,哪就来解决一下吧。 需求是这样的,A网站是购物网站,B网站是一个普通站点,且有用户余额...

thinkphp返回Json的数据格式

thinkphp返回Json的数据格式
最近一直在写app的接口,我们知道用php写接口文件,基本上返回给服务端都是 Json 数据了,因为这样的数据使用 Js 更好处理一些,通常情况下,app端使用什么文件,我们直接写控制层或者是model层实现相应的功能,然后再json过去就ok了。 今天竟然发现tp自带有可以返回json数据的功能,虽然暂时用不到,但还是先记录一下吧。 thinkphp返回Json数据格式: //编写类方法用$this->ajaxReturn()返回数据&nbs...

ThinkPHP访问不存在的模块跳到404页面

ThinkPHP访问不存在的模块跳到404页面
我们来介绍一下关于ThinkPHP访问不存在的模块跳到404页面,有需要的朋友可参考参考,在ACTION中新建一个文件EmptyAction.class.php,文件中的代码如下: <?php     class EmptyAction extends Action{        function _empty(){            header("HTTP/1.0 ...

thinkphp3.2.3 redis缓存配置

thinkphp3.2.3 redis缓存配置
在thinkphp3.2中配置redis还是比较简单的,目前项目已经全面支持redis了,查看redis缓存文件使用的是 RedisStudio-en-0.1.5 工具,很方便,可以查看目前已经缓存了的数据,这里主要看一下redis在tp的入口文件是怎样配置的。 在thinkphp中需要使用到redis缓存,那么我们需要先做准备工作. 1.获取redis缓存驱动,要求安装phpredis扩展:http://github.com/nicolasff/phpredis. 2.在conf配置参数:  //Red...

php怎样保留一位小数,包括0

php怎样保留一位小数,包括0
PHP提供了诸多的函数,有了PHP函数之后,许多功能都可以简化处理了,不需要写更多的自定义函数了,不过最近写的一个功能在PHP手册中找了N久,都没找到相应的函数可以解决需求,就是有怎么一组两位或更多位数的小数,但只需要保留其一位就可以了。 PHP里面倒是有一个number_format的函数,但这个函数是自动四舍五入的,而我这里不需要四舍五入,其实解决的方法也简单,先使用 sprintf 函数控制浮点数的格式...

PHP Notice: undefined index原因与解决办法

PHP Notice: undefined index原因与解决办法
在php开发时可能会碰到如PHP Notice: undefined index这种错误提示,如 $_GET['aa']; 就会出现PHP Notice: undefined index ‘aa‘了。 下面我来总结出现PHP Notice: undefined index 解决办法。 1、php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE 2、加个isset函数 isset($_GET["page"]) if-else判断 还有一个办法就是自定一个函数,这样就直接使用函数操作,代码如下: function _get($str){&n...

接口返回数据用xml好还是json理解

接口返回数据用xml好还是json理解
现在移动端兴起,很多地方都要运用接口为它们传输数据,那么是用xml好还是用json好呢?个人觉得用json是不错的选择,我从以下几点分析一下: 1.xml标签要成对的书写,比如 <list><name>XXX</name><name>XXX</name></list>,而json写法是{"name":"XXX","name":"XXX"},   所以很明显json更节约传输的容量. 2. json生成和解析数据都比较简单,以php为例,只需用...

PHP接收POST数据的方法总结

PHP接收POST数据的方法总结
POST数据我们常用的接受方式就是$_POST了,其实除了这种方法 之外还有很多的函数变更可以来接受的哦,具体我们来看看下文。 通常情况下用户使用浏览器网页表单向服务器post提交数据,我们使用PHP接收用户POST到服务器的数据,并进行适当的处理。但有些情况下,如用户使用客户端软件向服务端php程序发送post数据,而不能用$_POST来识别,那又该如何处理呢? $_POST方式接收数据 $_POST方式是通过 HTTP POST ...

windows7环境下配置php和redis

windows7环境下配置php和redis
redis 是大数据处理读写分离必须要会的一个技术,在服务器以及TP框架中配置好之后,当然也是需要在本地配置的,毕竟我们还要在本地测试数据,我本地的环境是 php 5.6+nginx,windows 7 64位,首先是需要下载php的dll扩展文件,不同的环境对应的redis扩展是不一样的,这个扩展是比较难找的。 先找到PHP REDIS扩展,扩展百度网盘下载地址:https://pan.baidu.com/s/1kVIf5Wz 先载好之后,打开 php 安装目录,...

ThinkPHP3.2.3配置redis的示例

ThinkPHP3.2.3配置redis的示例
ThinkPHP框架是支持多种缓存功能的,比如TP系统所支持的 File,Apachenote,Apc,Eaccelerator,Xcache,Memcache 等等,当然,在TP的入口文件我们还可以配置 redis 缓存方式,TP对于缓存的支持是很不错的,使用缓存主要是为了提高应用的速度性,除了使用 Memcache或者redis这类的缓存来通过加速网页的加载速度之外,我们还可以通过使用mysql优化索引来提高速度,各种方法吧,本篇文章主要研究redis在TP入口文件...

一个简单的thinkphp+redis实现秒杀功能

一个简单的thinkphp+redis实现秒杀功能
好久没来整理文章了,闲了没事写篇文章记录下php+redis实现商城秒杀功能。 1,安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下) 1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图: 1.2,php.ini文件新增 extension=php_igbinary.dll;extension=php_redis.dll两处扩展 ok此处已经完成第一步redis环境搭建完成看看phpinfo 2,项目中实际使用redis 2.1...

ThinkPHP3.2.3中屏蔽SQL语句语法错误

ThinkPHP3.2.3中屏蔽SQL语句语法错误
TP3.1与TP3.2最大的区别就是3.2对于数据更加严谨了,比如在TP3.1中的SQL完全可以直接查询的,如果查不到的话,是不会报错的,而在3.2当中则会将SQL语句错误给报出来呈现出来,当然我们可以关闭调试模式,但是会出现一个大大的页面错误公众页,这显然不是我们想要的。 在TP3.1版本中,我们完全可以获取返回的SQL错误信息,但在TP3.2中,是无法获取到SQL错误信息的,这就导致,无法判断SQL是否是正确的,这类...

如何使用火狐下的两款接口测试工具RESTClient和HttpRequester发送post请求

如何使用火狐下的两款接口测试工具RESTClient和HttpRequester发送post请求
测试PHP提交接口的两款工具软件,火狐是开发人员钟爱的软件,不管是调试debug还是测试接口,其火狐都提供了较为丰富的插件,其中 poster插件简单小巧,是我所喜欢的一个测试接口插件,只可惜,在火狐升级到最新版之后,竟然不兼容了,只好又找了两款软件,RESTClient 和 HttpRequester,相对于poster来说工具更丰富了一些,本地的接口调试软件 http/Https Protocol Debuger 也非常的不错,是一个本地化的软...

提交PHP接口所遇到的错误Automatically populating $HTTP_RAW_POST_DATA is deprecated……

提交PHP接口所遇到的错误Automatically populating $HTTP_RAW_POST_DATA is deprecated……
这两天有点太忙,以至于忘记写PHP笔记了,最近写了一些PHP的接口,具体也忘记这个错误是否是写接口时遇到的,不过看错误信息应该是吧,就是在TP框架POST传参的时候遇到了如下的错误信息. Automatically populating $HTTP_RAW_POST_DATA is deprecated... 这是因为PHP本身版本的问题,我的本地是nginx+php5.6,在高版本的PHP中已经摒弃了$HTTP_RAW_POST_DATA,所以我们需要开启 always_populate_raw_post_da...

svn上线到华为服务器过程

svn上线到华为服务器过程
svn是一个多人开发的必用工具软件,如何将多人开发的文档代码上传到线上服务器,就需要使用svn了,搭建svn就不多说了,在linux中也就是几行命令,需要注意的就是各种的兼容问题了,对于多人开发,首先是需要一台linux测试服务器,在测试服务器上面没有问题的同时,再上传到线上服务器,我的配置文档如下,仅供自己学习参考。 /upsvn/svndata //内网svn服务器版本目录 /upsvn/newchengdun //华为svn服务...

Thinkphp模板中函数的使用

Thinkphp模板中函数的使用
1.在模板中使用php函数 在thinkphp的html中,我们经常会遇到一些变量难以直接从php控制端直接处理,这些变量只有在模板中循环输出的时候处理比较合适,这个时候,我们就要在模板中使用函数. 1.1对输出模板使用php函数 {$data.name|md5} //把模板中的name变量进行md5加密   把这句话翻译成php语言: <?php echo (md5($data['name'])); ?>   1.2函...

php获取当前值的下个ID号

php获取当前值的下个ID号
在最近的PHP的一个需求中,需要获取到当前数据ID的下一个ID号,如果是连续性的数据,可以直接当前ID+1,但如果在数据库中删除一个数字的话就不行了,如果删除N个的话,使用当前ID+1就更不可能了,比如我当前的ID是 1,哪么我查询我当前 ID 的下一个 ID 号则是 ID 2,但如果 ID 2 被删除掉了,哪么下一个就是 ID 3。 目前的需求是在做一个定时脚本的升级,按照的是查询下一个ID号来自动升级,虽然级别只有五...