php
梦到醒时
这个作者很懒,什么都没留下…
展开
-
模糊查询搜索功能在有错字的情况下也能搜出结果
基本思路是将文字拆分成单独的一个个文字,然后使用数学上的排列组合,将可能得结果都组合出来,再循化模糊查询,将最全字匹配的放最上面,单字的放最下面。第一次听老板说这种需求,第一感觉就是离谱,没办法,硬着头皮上。原创 2023-07-21 11:02:43 · 207 阅读 · 0 评论 -
数据库字段+传值字段去空格后查询
很多情况下,数据表中的数据会带有空格,点,斜杠等符号,在对这种字段做模糊查询时,用户不会输入空格,点这些符号,导致结果查询不到。例如,我需要对code查询。code的值为P·101号ADD,需要先把点替换掉。所以需要对搜索的字段中的符号进行替换,使用replace。这是我看到的其它例子。原创 2023-04-23 17:52:16 · 148 阅读 · 0 评论 -
微信小程序+gatewayworker+php+tp框架开发,websocke即时通讯二
微信小程序+gatewayworker+php+tp框架开发,websocke即时通讯原创 2023-02-28 14:03:04 · 295 阅读 · 0 评论 -
The request is badly formed
原因:url中包含空格背景:做项目对接时,用的是get请求,然后输入的参数中有空格就会报这个错误解决方法:1,url中包含空格,使用urlencode去掉空格。这是在网上找的,但是不适合我的*****************************************************************//GBK//echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+//echo urldecode("%D6%D0%CE%C4-_.原创 2021-12-27 18:07:28 · 396 阅读 · 0 评论 -
yii2 searchmodel 连表查询
我这里是OrderContract.php 和OrderContractSearch.php首先在OrderContract.php里定义要关联的表 public function getCustomerMsg(){ return $this->hasOne(CustomerMsg::className(), ['id'=>'customer_id']); }注意这里的getCustomerMsg 命名会影响到search里的连表名称,比如我这里改为getCust原创 2020-11-12 11:42:34 · 732 阅读 · 1 评论 -
yii2 activeform 点击空白处会触发提交功能
之前为了开发一个实时验证用户名唯一的功能,用到了一个属性,导致了一系列问题<?php $form = ActiveForm::begin([ 'id'=>'customer-form', 'enableAjaxValidation' => true, 'options'=>['class' => 'layui-form'], 'fieldConfig' => [原创 2020-11-10 17:29:28 · 706 阅读 · 0 评论 -
phpexcel 下载excel时出现乱码 ÐÏࡱá;þÿ
下载功能没有下载到文件,打开F12发现preview显示的是这样的这是因为用phpexcel下载excel时,不能使用ajax请求你无法使用AJAX下载文件。这只是在JS变量中提供了一些二进制数据,它不会将文件发送到用户的磁盘。请改用标准HTTP请求。之前的请求方式$("#contract_download").click(function(){ var shop_id =$("select[name='OrderContractSearch[shop_id]']").val()原创 2020-10-19 11:57:24 · 789 阅读 · 2 评论 -
http请求,waiting时间超过40s报500错误
最近做的项目要求下载数据到excel表格,开始时数据量少没发现,后来数据多了突然访问报500后来发现只要time超过40s就会这样,低于40s正常百度之后<IfModule mod_fcgid.c> FcgidProcessLifeTime 8200 FcgidIOTimeout 8200 FcgidConnectTimeout 4000 </IfModule>这段代码加到httpd.conf 中(不要放在最后),就可以了参考文章:https://ww原创 2020-09-09 16:24:11 · 457 阅读 · 0 评论 -
提高sql语句查询效率的方法总结
网上查询的,自用做phpexcel表格导出的时候,我的数据库主表里记录的都是一些关联数据的id,之前的做法是先将数据查询出来之后,用foreach 循环,根据关联id取出需要的数据。这在数据量小的时候没有问题,但是当数据超过1000条之后,查询时间会超过40s,造成超时。所以优化查询语句,用关联查询直接输出所需数据。1,关联查询:join等价bai于inner join内连接,是返回两个表中du都有的符合条件的行zhi。left join左连接,是返回左表中所有的行及右表中符合dao条件的行。r原创 2020-09-09 15:11:58 · 931 阅读 · 0 评论 -
在Apache服务器上安装SSL证书
第二次安装证书了,还是要从网上查资料,索性记录一下以备后用首先是申请 DigiCert 免费版 SSL然后下载Apache类型的证书解压之后有3个文件在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。#Include conf原创 2020-08-26 18:00:09 · 270 阅读 · 0 评论 -
yii2.0根据日期分组,查询用户的消费记录
这是数据库,时间是时间戳的格式。希望展示成这样的,把用户同一天的消费记录整合起来,计算消费总金额。$recordList=(new yii\db\Query()) ->select(['FROM_UNIXTIME(ctime, \'%Y-%m-%d\') AS date','sum(money) as total_money']) ->from('customer_pay_log') ->where(['customer_id'=>$userInfo->dep原创 2020-07-29 15:53:23 · 620 阅读 · 0 评论 -
YII2 按照时间区间搜索一
二次开发时遇到一个搜索问题,查询某个时间段的数据页面是GridView生成的,一般应该是修改时间的搜索框,不过因为时间有别的用处,我们是这样的样子。现在需求是,选择员工姓名或者备注或者其他条件,再选择时间段,能查询出相应数据。根据上面的时间段搜索index页面是一个点击事件,get传参,地址是这样的:http://www.abcdefg.com/index.php?r=worker-xj/index&time_zone=2020-04-25|2020-05-18&compan原创 2020-05-18 20:12:57 · 1397 阅读 · 0 评论 -
yii2 遇到的跨域问题
也是第一次遇到跨域问题,当时急的不行,记录一下以备后用做接口开发时,访问接口一直报500,因为没接收到参数。网上查了很多写法,不知为何没有生效只有一种可以正常使用控制器的namespace 下加入:// 指定允许其他域名访问header(‘Access-Control-Allow-Origin:*’);// 响应类型header(‘Access-Control-Allow-Methods:POST,OPTIONS’);// 响应头设置header(‘Access-Control-Allo原创 2020-05-14 17:18:11 · 827 阅读 · 0 评论 -
php GD库给图片添加文字和图片水印
之前做过一次,后面再做的时候突然忘记了,这次就做个记录大致思路是将要添加的内容一次次的加入到原图中,不论文字还是图片放一张效果图首先要把图片路径转化为图片我是用的yii2框架源文件是上传的,2个图标是文件中保存的获取3张图片的宽高到这个位置就已经在原图片上加了一个矩形框了,就在上图最下方。规定了添加水印的一个区域。(也可以不要,但是我没测试过。(0.0) )。然后是字体,...原创 2020-04-23 11:28:13 · 614 阅读 · 0 评论 -
php命名空间
其实命名空间并不是什么新生事物,很多语言(例如C++)早都支持这个特性了。只不过 PHP 起步比较晚,直到 PHP 5.3 之后才支持。命名空间简而言之就是一种标识,它的主要目的是解决命名冲突的问题。就像在日常生活中,有很多姓名相同的人,如何区分这些人呢?那就需要加上一些额外的标识。把工作单位当成标识似乎不错,这样就不用担心 “撞名” 的尴尬了。这里我们来做一个小任务,去介绍百度的CEO李...转载 2020-04-08 17:36:03 · 137 阅读 · 0 评论 -
PHP静态方法和动态方法
1.静态的方法在整道个应用程序其间存储在内存中,速度快,但占用内存.class A{public static string b(){return “Hello”;}}用法: A.b(); //调用方便回2.动态的方法在先声明类实例才能调答用类中的方法.class A{public string b(){return “Hello”;}}用法: A a = new...转载 2020-04-08 17:28:12 · 622 阅读 · 0 评论