选取一个name为”S_03_22″的input text框的上一个td的text值
$(“input[@name=S_03_22]“).parent().prev().text()
名字以”S_”开始,并且不是以”_R”结尾的
$(“input[@name^='S_']“).not(“[@name$='_R']“)
一个名为radio_01的radio所选的值
$(“input[@name=radio_01][@checked]“).val();
Popularity: 34%
选取一个name为”S_03_22″的input text框的上一个td的text值
$(“input[@name=S_03_22]“).parent().prev().text()
名字以”S_”开始,并且不是以”_R”结尾的
$(“input[@name^='S_']“).not(“[@name$='_R']“)
一个名为radio_01的radio所选的值
$(“input[@name=radio_01][@checked]“).val();
Popularity: 34%
一张多用户的通讯记录表,主要是手机信息,每个用户可以建立自己的联系人组。
原来数据对数据没有校验,用户可以在一个组里面输入重复手机号码,如果数据量大,会造成数据重复。
所以要做一个唯一性的索引,如下:
目的是保证每个用户的每个组里面,不能有同样的cellphone。
但是建立的时候出错,因为里面原来有重复的数据。
清除重复的数据,用如下的sql,如果重复的就删除rowid不等于max(rowid)的那条记录。
Popularity: 22%
主要功能是根据贝贝的出生日期来显示贝贝现在多大了,实时显示贝贝的成长。
用当前时间减去出生的日期,但是可以显示出来几岁,几个月,和几天。
天的算法有点问题,没有考虑到大小月和2月份。
用的时候直接
就可以了
空下来再完善以下,再写一个js的版本。
有bug请拍砖,有好的写法请留言。
您可以免费用,但是请留个到本页的链接。谢谢
Popularity: 36%
要做一个mysql数据导入并且更新的工作。数据源是excel里来的。
选中excel里面左上角的元素,ctrl+shift+end,选中全部有内容的cell。另存为一个abc.txt的文件。
数据只有2列,建了一个有2列的表,准备把数据load进去,用root用户登录的,在mysql的shell运行如下命令
load data infile ‘/root/test.dat’ into table mytable FIELDS TERMINATED BY ‘\t’;
结果报错。
ERROR 13 (HY000): Can’t get stat of ‘/root/test.dat’ (Errcode: 13)
后来google,说是权限的问题,看来可能是mysql不能读root目录下的文件,随便换了个目录,问题解决。
load data infile ‘/tmp/test.dat’ into table ppname FIELDS TERMINATED BY ‘\t’;
但是后来出现的问题,基本让我崩溃。
举个例子
肉眼看上去,a和b是一样的,然后我就按照一样的去匹配,奇怪的是怎么做都不行,刚开始以为是大小写的问题,作了lower操作还是不行。
后来开始不相信自己的眼睛了,查看一下到底是什么
这个时候才发现每个字符后边多了一个
0D
被这个问题搞了个把钟头,郁闷的要死。做了以下处理,终于乌云散尽看见阳光了。
update mytable set b=UNHEX(TRIM(TRAILING ‘0D’ FROM hex(b)));
奇怪的是我模拟不出来这种数据,本来以为是没有加“LINES TERMINATED BY ‘\n’”的问题,可是后来加了也不行,:S
看来眼见不一定为实啊。
Popularity: 20%
jquery使用2例
1.把
里面的数值增加1
$(“#a01″)[0].innerHTML=parseInt($(“#a01″)[0].innerHTML)+1;
2.所有的checkbox有多少个选上的
var all_check=$(“input[@type='checkbox'][@checked]“);
alert(all_check.length+”个选中”);
3.给每个checkbox增加click事件
Popularity: 23%
工作中遇到需求,就是form里面所有的checkbox,radio都是必填的。
原来的做法是写多个function进行检查,部分代码如下
需要传入要检查的radio或者checkbox。
原来的写法是要把所有要检查的object都写进去,比如
如果有10道8道还可以,如果多的话,就要写好多,还容易漏掉,出错。
这次有100多道题目,所以想用jquery来选择所有的checkbox和radio,然后再来检查。
代码如下:
checkText是检验text的值的程度,是否为0,如果0就是未填写
花了点时间的是
var alle=$(“select[@name='text_79'],input[@type='radio'],input[@type='checkbox']“);
这一句,选择多个类型的element
但是上述写法有个问题,就是顺序和自然顺序不一样。还需要改进。
上面的and有点像union,如果是同一个element的属性的and,用下面的方法
$(“input[@name^='S_'][@name$='_R']“).autocomplete(“autocomplete_backend.jsp”);
上面的是,input,名字以S_开始,并且以_R结束的元素。
Popularity: 21%
为了监控网站运行是否正常,写了一个脚本来检查网站运行的情况。
主要是自动登录并且校验登陆后的内容来判断网站web服务和数据库服务是否正常。
代码如下:
v_account定义了多个账户,因为用户可能不同,后台机制不一样,所以用多个用户来登录
request = urllib2.Request( loginurl , qstring ) 用的是post的方法,也可以用get的方法。
ClientCookie,一个python的扩展包,安装请参考这里
2个v_account里的vkey用来和登陆后的页面上的信息来验证是否正常登录的
socket.setdefaulttimeout用来设置建立socket连接的超时设置,原来没有设置,程序会一直等待回应(如果服务器端做了最长运行时间会好点),设置了10秒,如果一个登录程序10秒还没有成功,基本上就失败了。
e_notify:可以自己设置一些notify的方法,比如邮件,短消息等。
Popularity: 24%
写了一个服务器的监控程序,里面用到邮件提醒功能。python sample code里面没有认证的部分,于是查了文档,google了一下,下了如下的smtp发送邮件的函数,支持smtp验证。代码如下:
有问题请指教
Popularity: 33%
mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行
long_query_time = 1
log-slow-queries = /var/youpath/slow.log
log-queries-not-using-indexes
long_query_time 是指执行超过多久的sql会被log下来,这里是1秒。
log-slow-queries 设置把日志写在那里,可以为空,系统会给一个缺省的文件host_name-slow.log,我生成的log就在mysql的data目录
log-queries-not-using-indexes 就是字面意思,log下来没有使用索引的query。
把上述参数打开,运行一段时间,就可以关掉了,省得影响生产环境。
接下来就是分析了,我这里的文件名字叫host-slow.log。
先mysqldumpslow –help以下,俺主要用的是
-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string
-s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒叙
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。
用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。
Popularity: 29%
jQuery的选择器是CSS 1-3,XPath的结合物。现在有个需求,连接到外部网站的链接都在新窗口打开,以前的方法很简单就是在链接的地方写上target=”_blank”,但是这样有2个不好的地方。
1.target=”_blank”,不符合严格的DOCTYPE(xhtml1-strict.dtd),参见这里
2.如果自己写blog,代码里面如果有其他网站的链接,都要自己手工加,可能会忘。
现在想用jquery来完成这个工作,思路是,找到所有有链接的节点,如果里面的href是以”http”开始的,并且里面没有本站的域名juyimeng.com的,就给他加一个value为”_blank”的target(如果原来有,就修改成”_blank”)。
第一个很简单,就是
a[@href^=http]
现在是要过滤掉里面含有指定关键字的,找了半天手册,google,发现其实很简单,用一个not就可以了
not(“[@href*=juyimeng.com]
意思是,去除掉href属性里面含有juyimeng.com的节点。
其他的一些用法如下:
E[@foo] 拥有foo属性的E元素
E[@foo=bar] foo属性的值为bar的E元素
E[@foo^=bar] foo属性的值以字符串”bar”开始的E元素
E[@foo$=bar] foo属性的值以字符串”bar”结尾的E元素
E[@foo*=bar] foo属性的值包含有字符串”bar”结尾的E元素
实现整个功能的代码如下:
测试通过,可能写的不是十分严密,但是已经能解决目前的问题了,不知道这里面能不能用正则表达式,或者大小写不敏感,如果可以,就能更精确地实现功能。
有错请提出.:D
Popularity: 22%