- 博客(94)
- 收藏
- 关注
原创 TP6 安装拓展
模板拓展:composer require topthink/think-view多模块拓展composer require topthink/think-multi-app
2022-04-29 17:20:53 241
原创 时间格式不对,运行sql文件报错
数据库时间格式用了datetime格式,结果转存时有这个错误发送,是因为有些数据没有值存了00-00-00 00:00:00,报错了,用了这个就解决了set global sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';...
2020-12-01 14:42:09 903
转载 使用宝塔在服务器上配置Redis
这是基于若依(前后端分离)项目对Redis的配置,所选版本对应不清楚适不适合其他项目,自行斟酌。可能会用到的命令查看6379端口号占用的进程 :ps -ef | grep 6379关闭进行 : kill -9 + 进程号。
2024-08-21 17:45:17 112
转载 TP6 saveall 主键名称非‘id‘的情况下如何识别更新呢?
saveAll 主键为非id的情况下,例如如果表的主键是user_id,而不是 id,我想执行批量更新,他会会识别为批量插入操作,但是数据中又包含主键,会报如下错误。解决方案:在模型中重新设置一下主键即可。
2024-03-09 18:21:46 164
转载 阿里云扩容后宝塔面板没显示
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
2024-03-07 11:49:38 268
转载 PHP实现定时任务的几种方式和详解
定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppServer的概念,而http协议是一个无状态的协议,PHP只能被用户触发,被调用,调用后会自动退出内存,没有常驻内存。如果您使用 Unix 系统,您需要在您的 PHP 脚本的最前面加上一行特殊的代码,使得它能够被执行,这样系统就能知道用什么样的程序要运行该脚本。占系统资源, 长时间运行,会有一些意想不到的隐患。
2024-03-04 17:41:15 353
原创 TP6上传图片到OSS(记录贴)
2.上传后地址打开不正确,Bucket权限可能是私有,改成正常读,不然就地址要加权限验证。1.没安装或没启用curl拓展,PHP安装curl拓展就好。1,先安装,我使用composer安装。
2024-02-28 16:50:56 868
转载 Mysql (id1,id2,id3)查询换成 (name1,name2,name3)
假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。现在要实现查询meet表中musers列中的id串对应的uname。准备两张表,只做测试使用,没有任何实际的意义!新建一张表:users 表示参会人员。新建表meet 表示会议。
2023-09-20 17:28:02 315
原创 用最大值作为where条件
场景:会员(user)对应【vip购买记录(vip_card_buy_log)关联会员卡表,同时存在多条购买记录,可能有不同的会员等级,查目前最高级】,想筛选不同会员等级的。关联子查询(as.clv = '.$where['vip_level'])where条件直接用最大值做条件。先用子查询查出最高等级的会员等级。
2023-03-30 11:15:22 1230
转载 查询分组后相同值和不同值统计,分组后查询前几条、某字段拼接
SELECT ROW_NUMBER() OVER(PARTITION BY 分组的字段名 order by 排序的字段名) AS rnk,cc.*我本来想做个功能,产品有多个规格,查规格表按产品id分组后想知道同个产品不同规格价格不一样的产品有哪些。3、listagg() WITHIN GROUP () group by 分组后将某字段多行合并成一行。1、查询分组后相同值和不同值统计的个数。2、查询分组后相同内容的前几条。这样就筛选出不同价格的产品了。–把该列挨个复制到‘’内。FROM 表名 cc。
2023-03-21 17:07:24 240
转载 TP6 事件绑定、监听、订阅
订阅者类其实就是监听器的一个集合,在里面可以监听多个事件。编写好事件订阅者类后在event.php中注册事件订阅者。注册后就可以通过以下方式触发事件。命令行生成事件订阅者类。命令行生成事件监听类。
2023-02-06 16:49:16 512
原创 宝塔忘记密码
1.如果还没改过密码。可以用/etc/init.d/bt default2.如果已经修改过初始密码又忘记的可以ssh输入以下指令,就是把密码改成123456cd /www/server/panel && python tools.pyc panel 1234563.多次登录失败,输入以下指令清除登录限制rm -f /www/server/panel/data/*.login...
2022-05-23 21:04:09 304
转载 TP6+Redis+think-queue+Supervisor实现进程常驻消息队列/job任务
使用composer安装queuecomposer require topthink/think-queue创建消息队列任务配置消息队列,将config/queue.php将’default’ => ‘sync’改为’default’ => ‘redis’,使用Redis驱动。php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN.
2022-05-23 19:16:32 2899
转载 根据表字段名的不同值,去关联不同的表获取不同的数据
今天遇到一个这样的需求:1、查询一个表(c)的数据,表里面有个type字段2、type = 1,就关联表a,查询a.xxxx,type = 2,就关联表b,查询b.yyyy2、查询出来的别名是 cccc表结构表名 字段名 字段名 字段名 c type a_id b_id a a_id xxxx a_name b b_id yyyy b_name SELECT c.type ,CASE
2022-05-20 10:05:31 1313 1
原创 TP5静态文件加载不出来
一般是因为隐藏了入口文件,但.htaccess没有配置。可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:httpd.conf配置文件中加载了mod_rewrite.so模块 AllowOverride None 将None改为 All 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngi
2022-05-19 15:42:29 381
原创 TP5 使用redis
1.打开tp5官方手册,在缓存下面找到使用多个缓存类型粘贴以下代码到tp框架config下面的缓存设置下// 切换到redis操作Cache::store('redis')->set('name','value');//获取redisCache::store('redis')->get('rename');//实现redis 消息队列在 /thinkphp/library/think/cache/driver/Redis.php 文件里面封装//.
2022-04-22 17:26:40 4891
原创 批量修改/批量更新数据库某一个字段的值
用字符串替换函数replaceupdate 表名 set 字段名 = replace(字段名,'http://zencart.me','zencart.me')replace(url, 'aaa', 'bbb') 【将url字段中的aaa批量更改为bbb】例子:我要
2022-03-28 10:50:42 17739
转载 mysql中sum (if)_mysql 中sum (if())
转自:mysql中sum (if)_mysql 中sum (if())_一世红蓝的博客-CSDN博客先来一个简单的sumselect sum(qty) as total_qty from inventory_product group by product_id这样就会统计出所有product的qty.但是很不幸,我们的系统里面居然有qty为负值。而我只想统计那些正值的qty,加上if function就可以了。 SQL为:select sum(if(qty > 0, qty, 0
2022-03-24 10:31:17 11094
转载 Git创建分支并合并到主分支
转载自:Git创建分支并合并到主分支_DT辰白的博客-CSDN博客_git新建一个分支并将一个分支的代码合并过去1、创建分支 2、切换分支 3、合并分支代码 4、将master主分支push到远程仓库 5、将login分支push到远程仓库1、创建分支使用如下命令创建一个名称为login的分支git checkout -b login查看当前所处分支git branch2、切换分支使用如下命令,切换到主(master)分支git chec.
2022-03-19 16:12:42 3585
转载 window环境下使用小皮面板安装redis
转载自window环境下使用小皮面板安装redis_熟悉的新风景的博客-CSDN博客_小皮安装redis1,下载redis扩展Redis扩展下载地址:windows.php.net - /downloads/pecl/releases/redis/点开下列链接,选择版本下载属于自己版本的2,放到ext文件夹下并且修改php.ini在小皮面板安装...
2022-03-17 10:24:53 1472
原创 TP6 的 each 遍历用法
闭包,查出来的赋值给topic_num属性$chapterObj = (new TopicChapter()) ->where('question_bank_id', '=', $questionBankId) ->where('is_deleted', '=', 0) ->where('chapter_type', '=', 1) ->order('sort ASC') ->field('id as chapter_id,chapt.
2022-03-12 13:50:53 2115
转载 tp5 报错variable type error: array解决方法
当你在tp5框架中写方法时返回一个数组时,tp5会报错:variable type error: array这是因为tp5不支持返回数组。下面是小编亲测的2种解决方法,大家就看自己实际需求,来决定使用哪种方法。方法一:需要修改你的源代码直接在返回语句中加上json()、xml().....等你需要返回的数据类型函数例如:<?phpnamespace app\index\controller;use think\Db;class Index{ public function
2022-03-03 15:11:58 11233
原创 PHP 无限极分类和树形
PS:树形结构我前端不知道怎么无限制遍历下去,感觉只适合明确了总共几层的,比如一、二、三级菜单这种,不适合无限级无限级分类(递归方法):/*递归无限极分类 */function unlimitedMenu($arr,$pid=0,$level=0){ static $list = array(); foreach ($arr as $v) { //如果是顶级分类,则将其存到$list中,并以此节点为根节点,遍历其子节点 if ($v['pid'] == $pid) { $v
2021-11-25 15:58:45 343
原创 ajax序列化大量数据传
最近碰到要求前端传大量数据到后台重组,正常传值收到默认限制大小,又不想改动配置,网上查了序列化的方法//html部分{volist name="list" id="view" key="lk"} <div class="list-{$lk}"> {volist name="view" id="vi"} <div class="table-content"> <input type="text" value="{$v
2021-10-23 11:06:39 216
转载 sql中的 IF 条件语句的用法
IF 表达式IF( expr1 , expr2 , expr3 )expr1 的值为 TRUE,则返回值为 expr2expr1 的值为FALSE,则返回值为 expr3如下:SELECT IF(TRUE,1+1,1+2);-> 2SELECT IF(FALSE,1+1,1+2);-> 3SELECT IF(STRCMP("111","222"),"不相等","相等");-> 不相等那么这个 IF 有啥用处呢?举个例子:查找出售价为 50 的书,
2021-10-12 16:26:51 43317 2
原创 thinkphp5 ---- object(think\response\Json)转数组
当我们调用json返回的对象想要转成数组方便循环时我们使用getContent()方法就可以转数组了$flag = $this->orderList();$flag = json_decode($flag->getContent(),true);
2021-10-10 16:01:40 1899
转载 2021-09-18
thinkphp5 sql 语句group+date_format(time) 组合排序筛选数据_hexiaoniao的博客-CSDN博客有需求要整合某时间范围内如:2019-09-21-2019-09-27 范围内的刷卡记录、每天只取最早的那天。来做判断所以这里要用到分组了。按照日期分组。上代码:record_time为刷卡时间$db = Db::table(“表名”)->group("date_format('record_time','%m-%d-%Y')")->select();这样就搞
2021-09-18 11:23:39 66
转载 百度地图坐标、Google坐标、腾讯坐标相互转化
<?php//中国正常GCJ02坐标---->百度地图BD09坐标function Convert_GCJ02_To_BD09($lat,$lng){ $x_pi = 3.14159265358979324 * 3000.0 / 180.0; $x = $lng; $y = $lat; $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi); $theta = atan2($y, $x.
2021-07-26 16:38:44 623
原创 页面缓存问题解决方法(慎用)
解决ios和安卓手机缓存问题分为三部分:HTML文件,CSS文件、JS文件HTML部分:加上如下代码,强制不缓存CSS文件:加上版本号,进行更新,用当天日期。如果当天有更新两次,在后面加上序号,从1开始。例如:-------------------------------------------------------------------------------------?t=202006222/>JS文件同上CSS处理方式
2021-06-24 09:06:04 433
原创 JQ序列化后PHP后台解析
JQ序列化后的数据(serialize())后台看到大概是 "name=chen&sex=1"这样的,或者JQ序列化同名
2021-06-08 15:58:47 266 2
转载 file_get_contents 访问 ssl 错误的两种解决方法
转自博客园https://www.cnblogs.com/devcjq/articles/9250800.html第一种,也是最常见的,参考:https://jingyan.baidu.com/article/72ee561a54af56e16038df60.html打开php.ini文件,extension=php_openssl.dll去掉前面的分号,allow_url_include = off改为allow_url_include = On,然后重启服务就可以了。第二种,在国内比较.
2021-05-15 14:16:03 2675
转载 mysql密码过期的方法
https://www.cnblogs.com/lxn521/p/12658890.html?share_token=0ccdd76a-1d0a-4321-9523-4e445f13893f&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_android&utm_campaign=client_share
2021-03-12 14:37:03 149
转载 TP5中的getField()方法变化,tp5获取单个字段值
想直接获取单个字段值,弄了半天,tp5的getField()方法变了,具体如下:TP5中的getField():拆分为value和column了例子:••• where("id = 1")->value("title");输出:(string) title••• where("id = 1")->column("title"); 输出:(array)...
2020-11-25 16:11:33 2120
转载 jquery中的$(document).ready(function(){})和$(window).load()比较
1.执行时间window.onload()即jquery写法中的$(window).load(function(){})必须等到页面内包括图片的所有元素加载完毕后才能执行。$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。2.编写个数不同window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个(最后一个)$(document).ready()可以同时编写多个,并且都可以得到执行3.简化写法window.o...
2020-11-11 10:27:32 288
转载 jquery offset positon 获取位置不准的解决方法
本地开发时,由于使用了图片,而且使用了offset().top涉及到图片所在的div距离计算的部分,本地开发一切都没问题;但是部署到服务器上时却出现布局错乱,经过排查发现总是少了一个图片高度的距离,原因是本地图片加载速度很快,在jquery的$(document).ready 时,图片已经渲染出来,后来的计算是在图片已经出来时计算的;但是服务器网络原因,图片总是加载很慢,在进入到$(document).ready里的计算位置时,图片还没加载完成,导致获取位置信息的API计算不正确。解决:其实只要是.
2020-11-11 10:16:24 1296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人