ThinkPHP 组合查询
在项目中需要同时使用两个条件取OR,与第三个条件AND,需要使用组合查询。其他查询方式:http://document.thinkphp.cn/manual_3_2.html#query_type。
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string)、复合查询(_complex)、请求字符串查询(_query),混合查询中的特殊查询每次查询只能定义一个,由于采用数组的索引方式,索引相同的特殊查询会被覆盖。
在项目中需要同时使用两个条件取OR,与第三个条件AND,需要使用组合查询。其他查询方式:http://document.thinkphp.cn/manual_3_2.html#query_type。
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string)、复合查询(_complex)、请求字符串查询(_query),混合查询中的特殊查询每次查询只能定义一个,由于采用数组的索引方式,索引相同的特殊查询会被覆盖。
众所周知,由于前端javascript对跨域访问做了安全限制,javascript只能访问与包含它的文档在同一域下的内容。而实际编码时我们会遇到使用iframe跨域访问、Ajax跨域通信等操作,这个时候如何突破跨域操作的问题,本文将结合实例讲述解决方案。
在mysql中,有时我们在做数据库查询时,需要得到某字段中包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,这时候mysql的FIND_IN_SET函数就派上用场了,下面来具体了解一下。
webuploader API文档:http://fex.baidu.com/webuploader/doc/index.html
全局设置
// 初始化的时候直接添加
var uploader = new WebUploader.Uploader({
...
formData: {
uid: 123
}
...
});
// 初始化以后添加
uploader.options.formData.uid = 123;
局部设置
uploader.on( 'uploadBeforeSend', function( block, data ) {
// block为分块数据。
// file为分块对应的file对象。
var file = block.file;
// 修改data可以控制发送哪些携带数据。
data.uid = 123;
});
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成 HTML标记的CGI要高许多。下面介绍了PHP开发程序应该注意的42个优化准则。
使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理。
Shell是一个程序,最常用的就是Bash,这也是登录系统默认会使用的Shell。
jQuery有个方法$.fn.serialize,可将表单序列化成字符串;还有个方法$.fn.serializeArray,可将表单序列化成数组。那如果要将表单序列化成对象或者JSON格式数据,该如何操作呢?
/**
* 字符串截取,支持中文和其他编码
* static
* access public
* @param string $str 需要转换的字符串
* @param string $start 开始位置
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
* return string
*/
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true, $strip_tags=false){
if($strip_tags){
$str = strip_tags($str);//去除html标记
$pattern = "/&[a-zA-Z]+;/";//去除特殊符号
$str = preg_replace($pattern,'',$str);
}
if(function_exists("mb_substr")){
$slice = mb_substr($str, $start, $length, $charset);
}elseif(function_exists("iconv_substr")){
$slice = iconv_substr($str, $start, $length, $charset);
if(false === $slice){
$slice = '';
}
}else{
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("", array_slice($match[0], $start, $length));
}
return $suffix ? $slice.'...' : $slice;
}