ThinkPHP 多表循环遍历输出

ThinkPHP 多表循环遍历输出
在做项目的时候,经常会遇到分类树输出,有可能是多级,有可能是两级,用得较多的应该是两级菜单树了,比如后台的菜单管理,最近做的一个项目是两个表需要循环出来,一个是分类的,另一个是子分类内容,然后这两个分类要整合到一起做成一个菜单树,然后在另外一个页面进行调用存储。 我的天,逻辑好麻烦,好了,先上代码: ThinkPHP双重循环遍历输出 数据表1 Cat 栏目 数据表2 In 文章 $cat=&nb...

关于thinkphp中GET接受数据

关于thinkphp中GET接受数据
在PHP中,接受GET过来的数据,大多都是需要进行先过滤,然后再进数据库中的,否则没有任何过滤直接插入数据库的话,是很容易受到攻击的,所以在PHP处理留言或者评论之类的项目中,我都是先把特殊之类的字符进行转义,然后在读取的时候,再进行反转义就OK了。 TP是一个非常好的框架系统,近期用得也是很频繁了,而在TP模板中,是可以直接GET接受数据的,{$_GET.id} {$Think.get.id} 这两种方式都没有任何过...

thinkphp全站增删改查的操作

thinkphp全站增删改查的操作
作为一名PHPER,必须要具备最大限度的优化代码的思想,在thinkphp中,因为大多数的 Action 继承的都是 CommonAction 类库,所以关于平常使用的增删改查等操作,完全可以统一的放到 CommonAction.class.php 文件里面,然后在调用的时候就不用写一大堆的代码了。 下面夏日博客整理好的一份全站增删改查操作的方法,如下所示:  //公共查找数据     protected function ...

写了一个简单的thinkphp RBAC权限验证系统

写了一个简单的thinkphp RBAC权限验证系统
目前正在做一个大剧院的项目,本来想要找一个底层的RBAC权限验证系统,只可惜网上的代码有些繁琐,且有些功能使用不上,也想从单位里面的源码上扒个下来,只可惜关联的数据太多,RBAC是由五个表组成的,分别为 think_access,think_node,think_role,think_role_user,think_user,RBAC主要是依赖于这五个表的,这是大多数RBAC权限验证的做法。 我这里是自己写了一个简单的类似于RBAC权限的验证,有会员的...

thinkphp二级菜单循环显示

thinkphp二级菜单循环显示
做了一个thinkphp左侧菜单,代码定义在了公共函数库里面,左侧菜单所有内容都保存在了一个表里面,一级二级使用的是 parentid 进行的关联,在模板里面要把二级菜单全部给循环显示出来,栏目表名为think_class, 表有字段:id,name,parentid,参考代码。 PHP代码如下: $class=M("Class");   $data=$class->select();   $list=array();   foreach($data as ...

Thinkphp中的RBAC权限验证

Thinkphp中的RBAC权限验证
thinkphp中的rbac权限验证是一个thinkphp最底层的核心框架,有了这个底层核心,然后在这个基础上再去开发thinkphp的项目实例就很简单了,最近在做一个剧场的项目,就用到了thinkpp的rbac权限验证,实际上就是需要做一个用户组,用户,权限这样的一个底层功能,每个用户组可以赋予不同的权限来使用后台不同的功能,只可惜没有找到好用的RBAC权限验证的代码,只好自己写了一个简单的,这里先来了解一下RBAC权...

WordPress使用相对路径访问

WordPress使用相对路径访问
wordpress默认的页面路径全都是绝对路径,这样导致的直接问题是在更换域名的时候,需要重新的去更换所有域名,虽然可以使用SQL在数据库中批量执行,但生成的静态页面,却还要重新生成一遍,如果页面少的话还好一些,如果页面量很庞大,就会很耗费时间,也会影响百度的排名,夏日博客这两天又开始了一个新的折腾,就是把绝对路径替换成相对路径。 wp-config.PHP文件最后加上下面代码: /*设置相对路径*/&...

require “./ThinkPHP/ThinkPHP.php” == 无法访问

require “./ThinkPHP/ThinkPHP.php” == 无法访问
一个企业级站点用的是 ThinkPHP 框架设计开发的,最近网页无法打开,入口文件直接显示 require "./ThinkPHP/ThinkPHP.php" == 无法访问 的错误,第一时间想到是否是 ThinkPHP 文件被删除了,因为之前上线的时候没有出现 ThinkPHP 不存在的问题,检查之后,发现一切正常,文件存在。 再一次检查的时候,发现了一个小的细节,就是 ThinkPHP 的文件夹虽然存在,但双击却打不开,这个时候就联想到是否是因为权...

thinkphp 模板中时间戳转换成日期格式 默认当天日期

thinkphp 模板中时间戳转换成日期格式 默认当天日期
在thinkphp模板中需要post一个当前日期,因为在Action里面用的是继承类的方法,所以这个日期一定是要传递过去的才行,所以只能在thinkphp模板里面去定义了,使用的代码如下: 如果有日期输出,即$data.time不为空且不为0,则格式化时间戳,否则默认当前时间戳,并格式化成日期格式。 {$data.time|default=time()|date='Y-m-d',###} 把这个代码嵌套到隐藏域里面即可,打印出来的格式如下: 2016-09-30 如果...

ThinkPHP关于JOIN使用方法详细说明

ThinkPHP关于JOIN使用方法详细说明
ThinkPHP 经常会遇到多表查询,最近的一个项目就是要同时查询四个表,当然 sql 也要使用多表查询了,只是在 where 的时候有些困难,研究了大半天的时间,终于给搞出来了,好了,先看看 ThinkPHP 中关于 JOIN 多表查询的使用吧,其它查询部分一切照旧。 JOIN方法是连贯操作中唯一可以多次调用的方法 分别查询表artist、work、card 、card JOIN 有两种方式:LEFT JOIN(默认使用)与RIGHT JOIN //Left&nbs...

phpcms V9去掉默认自动获取关键词

phpcms V9去掉默认自动获取关键词
phpcms默认是可以自动获取文章关键词的,这个关键词是官网提供的词库,几乎都是两个字的词库吧,虽然是一个很好的功能,但有的时候获取却是极其的不准确,还不如自己手动来添加,所以在进行二次开发的时候,索性就把这个功能给去掉了,我们直接找到接口api文件的地方,把这个文件给屏蔽掉就可以了。 找到 api\get_keywords.php 打开找到如下代码: defined('IN_PHPCMS') or exit('No permission resources....

phpcms调用图文列表,图片列表,文字列表

phpcms调用图文列表,图片列表,文字列表
给自己一个小小的参考而已,网上的教程已经有大篇大篇的了,而且我这里针对的还是 table 的,这里定义的图文只是将将普通的图片列表,图片标题给调用出来了而已,实际还是图片列表吧。 一,图片列表一,代码如下: {pc:content  action="lists" catid="8" thumb="1"  order="listorder desc" num="5"}          &...

phpcms V9标题样式标签{title_style($v[style])}改进

phpcms V9标题样式标签{title_style($v[style])}改进
在loop里面使用了{title_style($v[style])}标题样式,如果当前标题不存在样式(高亮、加粗),就会生成多余的废弃代码 style="" 。如:<a href="{$v['url']}" target="_blank" style="">标题</a>,看了不舒服吧。 修改:phpcmslibsfunctionsglobal.func.php 1476行开始,代码如下: /**   * 生成标题样式   * @param $style   样式  ...

PHPCMS V9调用父栏目 顶级父栏目的代码

PHPCMS V9调用父栏目 顶级父栏目的代码
在phpcms中调用当前栏目的父栏目,文章内容的所属栏目以及顶级栏目已经是很常见的了,尤其是大型的新闻站点,调用就更不可必免了,在新闻内容页面调用出文章的栏目路径以及名称可以更清晰的知道自己所在的站点位置。 一、调用父栏目,首先是列表页和二级栏目页list.html,代码如下: {$CATEGORYS[$top_parentid][catname]}  //顶级父栏目名称   {$CATEGORYS[$CAT[parentid]][catname...

phpcms全站按月排行榜

phpcms全站按月排行榜
phpcms需要调用全站按月排行榜,下一个月自动自行排行计算,这样让计算自己来进行排行,就省得自己再去动手操作了,phpcms没有全站排行的pc标签,只有使用万能的get语句了,神奇,不亏是万能的,代码如下: {pc:get sql="SELECT h.`monthviews`,n.`title`,n.`url`,n.`style`,n.`catid` FROM `v9_hits` AS h,`v9_picture` AS n WHERE substring_index(...

PHPCMS v9设置文章的审核功能

PHPCMS v9设置文章的审核功能
对于新建的站点,如果想设置会员发布的文章必须通过审核后才能发布,则需要以下几步来完成: 1、根据需要自定义管理员角色或选择已有角色。 步骤:设置->管理员设置->角色管理->权限设置(可设置对后台哪些模块有权限)/栏目权限(可设置对那些栏目有管理权限)/成员管理(管理本角色成员); Tips:一定要为管理员角色分配具体的权限、设置具体的栏目权限,否则无法登陆后台,将提示“你没有站点管理权限,...

phpcms二次开发栏目权限的筛选

phpcms二次开发栏目权限的筛选
在phpcms的后台栏目权限中,是可以设置对指定栏目进行增删改查权限设定的,phpcms也是做到了极致,但有的时候,我们并不想要怎么详细的权限设置,我这里只想要一个点击栏目权限设置之后,只显示一个全选的按钮,点击全选之后,就可以对本栏目进行增删改查的操作,而没有必要将其它的增删改查权限全部显示出来。 思路是这样,找到设置权限的文件,把增删改查的权限隐藏掉,按钮改成隐藏状态,其它的一切照旧...

PHPCMS模块管理权限混乱只对超级管理员可见

PHPCMS模块管理权限混乱只对超级管理员可见
关于phpcms二次开发涉及到的一些模块权限的地方,给自己做个小笔记。 一,PHPCMS模块管理权限混乱只对超级管理员可见 phpcms\modules\admin\templates\left.tpl.php 17行增加判断 PHPCMS模块管理权限混乱只对超级管理员可见 if($_m['id']==982){      if($_SESSION['userid']!=1) {      }else{      echo '<li id="_MP...

Thinkphp 完整的增删改查 Action

Thinkphp 完整的增删改查 Action
因为项目的需求,写了一个简单的 Action,其中包含了使用率较高的增删改查了,很简单,仅供自己参考吧,因为用的频率较高,所以每次写到增删改查操作的时候都要用到,所以放在博客里面,在需要的时候可以进行拷贝了,呵呵。懒人嘛,什么东西都是写了一遍就不想再写了。 <?php   // 本类由系统自动生成,仅供测试用途   class GradeAction extends CommonAct...

Thinkphp同时读取多个表

Thinkphp同时读取多个表
不管是在 Thinkphp 框架还是在其它框架里面,同时读取多个表已经是很正常的事情了,在上一篇夏日博客已经把添加内容读取分类表以及编辑内容读取分类表的类方法代码贴出来了,这篇文章里面再贴一个显示分类表名称的代码,因为显示的是循环每一条数据库里面的信息,但每一条又有其上级分类的名称,其实在 Thinkphp 中来显示很简单,没有自己手写的哪么复杂,好了先看 Thinkphp select 方法吧,如下所示: ...