Author Archives: php培训讲师
<pre lang=”javascript”> if (parent != self) { alert (‘我被iframe包含了,我不干!’); } </pre>
前几天,在写一个SQL语句的时候,where后面明明有限制条件,却每次都将表中其它数据也取出来了。测试了半天还是不行。 这到底是什么原因呢? 最后才发现 ,原来有一个字段我用的是varchar ,里面的值 又是 也逗号分隔的,如 1,2,3,4 但 SQL语句中却用的是这样的 receive_id = 1 ,结果就会出现上面的问题,原来是MYSQL 会自动将1,2,3,4自动转换成int 型,这样一转,就转成 1了,所以结果中老有 1,2,3,4 这样的记录。改成 is_read = ’1′ ,一切终于ok 了。 总结: int 型的 可以写成 字符型 ,如is_del = ’1′ (is_del 为tinyint型),但字符型的不能写成 int 型 ,如 is_read = 1 ,(is_read 为varchar ) 结果就错了。
/** * @file jQuery.Json.js * @description 用于支持Json与其它类型互转的扩展方法 * @author knowmore * @date 2011-03-01 * @license share * @version 1.0.20110301 **/ /** * 将json字符串转换为对象的方法。 * * @public * @param json字符串 * @return 返回object,array,string等对象 **/ jQuery.extend({ /** * @see 将json字符串转换为对象 * @param json字符串 * @return 返回object,array,string等对象 */ evalJSON: function(strJson) { return eval("(" + strJson + ")"); [...]
jQuery为开发插件提拱了两个方法,分别是: jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。 jQuery便是一个封装得非常好的类,比如我们用 语句 $(“#btn1″) 会生成一个 jQuery类的实例。 jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。如: $.extend({ add:function(a,b){return a+b;} }); jQuery.fn.extend(object); 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。 比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以如下实现: $.fn.extend({ alertWhileClick:function(){ $(this).click(function(){ alert($(this).val()); }); } }); $(" input1").alertWhileClick(); //页面上为:<input id="input1" type="text"/>
easyphp 框架简介 fanglor 2011-05-26 1.easyphp 是什么? easyphp 是一个简单实现了MVC模式、统一入口及常用函数集成的易用的php框架 2.文件结构 ————————– │ admin.php │ index.php │ ├─admin //后台项目文件夹 │ ├─controller │ ├─model │ └─view ├─app //前台项目文件夹 │ │ index.php //默认空白文件 │ │ │ ├─controller │ ├─model │ │ │ └─view │ └─public ├─cache //缓存文件夹 │ ├─data //数据缓存文件夹 │ └─template //模板编译文件夹 │ ├─core //模板核心文件夹 │ │ base_controller.class.php //controller层基类,里面集成了实例化的mod和view ,以及框架起动函数 │ │ base_model.class.php //model层基类,继承于mysql类 │ │ base_view.class.php //view层基类,内部实例化了smarty [...]
原创 apache的Alias配置 收藏 在 apache中配置Alias,如下格式 <VirtualHost *:80> ServerAdmin fanglor@163.com DocumentRoot /server/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /server/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /suizhou "/exports/suizhou" <Directory "/exports/suizhou"> Options Indexes AllowOverride AuthConfig FileInfo Order allow,deny Allow from all </Directory> </VirtualHost> 注意,要将httpd.conf的 User和Group设置为有权限访问Alias指向目录。否则访问会出现403 forbidden
php 出现 Function set_magic_quotes_runtime() is deprecated 怎么办 ?
赶集网招中高级php工程师 公司简介: 赶集网是目前国内最大的生活分类信息平台(日均PV超过4000万),不仅在桌面互联网上拥有最多的用户,最大的发帖量以及最高的浏览量,还是移动互联网领域该行业的领军企业(在android, iphone, symbian, kjava, mtk, bada六个平台都有独立的客户端软件)。赶集网目前的技术团队很多来自于Google、百度、腾讯、微软、联想、亿邮、yahoo等公司。 工作内容: 参与赶集网前端页面架构、性能优化以及房产、汽车、物品交易等垂直频道的开发工作,年薪在13万至20万之间 php工程师 职位要求: 至少3年以上LAMP开发经验 精通Php5和mysql,熟练掌握OOP编程,精通Smarty的使用 熟悉Linux操作系统及常用shell命令; 熟悉js、ajax,熟悉jquery者优先; 了解并研究过hadoop, mapreduce, redis等开源项目 对规范化、标准化、团队化软件开发有正确理解和认识,具有良好的代码和技术文档编写习惯。 乐观向上,有良好的敬业精神、学习能力和团队协作能力,勇于迎接挑战,追求卓越。 良好的算法基础,有较强的算法优化能力 本科及以上学历
sql优化时使用mysql索引应注意的问题 1 .索引不会包含有NULL值的列 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。 2 . 使用短索引 对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的列,如果在前10个或20个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。 3 . 索引列排序 MySQL查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。 4 . like语句操作 一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。 5 . 不要在列上进行函数运算 select * from users where YEAR(adddate)
php不为人知的函数register_shutdown_function 的用法小探
mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢? 其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是my.cnf)的[mysqld]下面加上如下代码: log-slow-queries=/var/lib/mysql/slowquery.log long_query_time=2 注: log-slow-queries 设置把日志写在那里,为空的时候,系统会给慢查询日志赋予主机名,并被附加slow.log. /var/lib/mysql/slowquery.log为日志存放的文件的位置,一般这个目录要有mysql的运行帐号的可写权限,一般都将这个目录设置为mysql的数据存放目录 long_query_time=2中的2表示查询超过两秒才记录. 如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。在文件my.cnf或my.ini中加入下面这一行可以记录这些查询 这是一个有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用) # Time: 070927 8:08:52 # User@Host: root[root] @ [192.168.0.20] # Query_time: 372 Lock_time: 136 Rows_sent: 152 Rows_examined: 263630 select id, name from manager where id in (66,10135); 这是慢查询日志中的一条,用了372秒,锁了136秒,返回152行,一共查了263630行 如果日志内容很多,用眼睛一条一条去看会累死,mysql自带了分析的工具,使用方法如下: 命令行下,进入mysql/bin目录,输入mysqldumpslow –help或–help可以看到这个工具的参数,主要有 Usage: mysqldumpslow [ OPTS... ] [ LOGS... ] Parse and summarize the MySQL [...]
如果 smarty的标签跟js的语法冲突你会怎么办呢? 一般,冲突的地方注要有两个,一个是 smarty 的定界符 {} 与 js 语法的{}冲突 ,第二个是 jquery 的 $ 与smarty 变量的 $冲突 。 第一个问题 可以把 smarty 的定界符设成 $tpl->left_delimiter = ‘<{‘; $tpl->right_delimiter = ‘}>’; 第二个问题可以用 smarty 的 literal 处理,可以把 JS代码 包含在 {literal}{/literal} 之间就可以了。 <{literal}> $ ( function () { alert (’北京php培训’)} ); <{/literal}>
