分类 开发框架 下的文章

最近小鱼哥在做直播门户开发,要知道直播每个人都有自己的直播间,使用靓号可以进入自己的直播间,然用thinkphp开发,发现路由URL规则中 /字母或数字都会进入控制器或模块 用URL美化,也只能实现类似www.kinmor.com/i/888(i/:id=>show/index),要实现真正的a.com/123这样进入的话,还是有点小技巧的。下面粘贴本鱼的代码,用htacess来实现。

以下为.htacess代码

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On

#PC学校规则
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^([0-9]*)$ /Show/index/index/nid/$1 
RewriteRule  ^m_([0-9]*)$ /box/index/index/nid/$1 
#全站规则
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

</IfModule>

最近小鱼哥要做个标签模糊查询的需求。

比如标签值:

tags:广州建站,番禺建站,企业建站

我想查询所有新闻Tags字段含有以上任意一个关键词的记录,怎么实现呢?

$tags =array("广州建站","番禺建站");

重组查询条件,因为模糊查询的like 关键词两边要追加“%”;

$map =array();
foreach($tags as $k=>$v){
 $map[$k] ="%".$v."%";
}
$where['tags'] =array('like',$diff,'or');

以上得出的sql语句是
示例表为t_news 查询出6个记录 语法如下

**SELECT * FROM `t_news` WHERE (`tags` LIKE '广州建站' OR `tags` LIKE '番禺建站') ORDER BY update_time DESC LIMIT 6**

好了以上的查询就可以应用到thinkphp中去了。

【故障问题】:
thinkphp框架开发过程中或生产环境中,出现以下报错,并且success和error无返回的情况
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

【排查发现】:

√因为文件编码而出现的故障 默认文件编码应为无bom+的utf8编码格式,不知道是用了什么编辑器打开,保存的时候就默认变成了带+bom utf-8的编码格式 所以json解析的时候会带bom的如空格等返回,就不是纯粹的json,所以报错json解析错误。

【修正解决】

使用Editplus,另存为,将带bom的编码改为utf8即可,见下图
47.png

【editplus破解版下载】
https://pan.baidu.com/s/1AGpGN3HdRXslHtc5uuQgCw (链接失效,请联系#395617441#企鹅邮箱)