没有头脑 没有概念…
笔记
php 字符比较小结
Sep 20th
调试程序时遇到了关于字符串几个比较绕的问题,鼓捣了一阵子总是弄明白了几个,先大概说一下。
- empty()函数。empty($var)函数如果 $var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,”"、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的例如在注册时经常比较确认密码是否相等则不不适合使用empty进行判断。
- == (等于)与===(恒等于)。‘==’比较两个变量如果相等则返回true,需要注意的是’==’并不区分类型,如1==‘1’将返回true;另外‘==’还会把0与”的关系认为是等价的,所以判断变量是否为空,也不宜使用‘==’。
‘===’比较两个变量是否相等还会比较它们的类型,1===‘1’返回false。
不想说了,列代码: 更多 >
ubuntu 下安装w32codecs解码器
Dec 19th
在ubuntu上安装完mplayer后,如果想要支持很多种格式需要安装解码器。在网上找了很多怎么安装mplayer的例子,大多数都使用sudo apt-get install w32codecs。每次执行这条命令都提示没有可安装的w32codecs包。
可以试试下面的办法:
打开源列表:sudo gedit /etc/apt/sources.list
在文件的最后添加一行:deb http://archive.ubuntu.org.cn/ubuntu-cn/ hardy main restricted universe multiverse
更新源列表:sudo apt-get update
这时候只要在中端里输入:sudo apt-get install w32codecs 就可以安装了。
参考:http://forum.ubuntu.org.cn/viewtopic.php?f=74&t=165624&start=0
php怎样实现向前一个页面跳转
Dec 6th
举一个很常见的例子,很多网站的登录并不是单独一个链接,而是在很多个页面上都有登录链接,方便用户随时可以登录,这样用户可以在首页index.php上登录,也可以在其他的页面上登录。而且登录后就会自动返回登录前的页面,比如,从index.php点登录的链接,就跳到了登录的页面login.php,提交到check.php文件,检查数据是否正确,然后check.php调用header(‘location: url’)跳转到指定的页面。
上面的几种方法在一些情况下都是可行的,按情况选择使用吧。
关联表查询笔记
Dec 5th
今天无意间看到连接查询,突然想起来自己其实很少会写一些join语句,现在使用的zend framework里也有关于关联表的一些操作。长时间不用就生疏了,做个笔记,将来用的时候,方便很快的复习一下。
当我们需要在关系数据库的多个表中得到我们需要的数据时,可以使用连接查询得到一个结果集或者结果表。查询的多个表之间是通过一个或多个相关的字段来实现它们的对应关系,查询是就是通过这些相关字段来建立连接的。
假设现在有两个简单的user(id,name)表和post(id,title,user_id)表。post表里的user_id与user表的id是对应关系,以标志这个post是由哪个user写的。通过下面几种方式实现关联查询(一下的语句只用作参考,并没有考虑客观实际)。
查看所有user与他们写的所有post。
最熟悉的where查询:
select user.name,post.title from user,post where user.id=post.user_id;
使用join连字符指定连接条件
select user.name,post.title from user join post on user.id=post.user_id;
或select u.name,p.title from user u join post p on u.id=p.user_id;
自连接查询:
找出post表中id为1,2的title:
select p.title,o.title from post p join post o on p.user_id=1 and o.user_id=2;
以上所举的例子中,连接结果是在多个表的组合中挑选出符合条件的数据,通常称这种方法为内部连接,与之对应的是外部连接。在外部连接中,参与连接的表有主从之分,以主表的每行数据去匹配从表的数据列,符合连接条件的数据将直接返回到结果集中对那些不符合连接条件的列,将被填上NULL值后再返回到结果集中。主表在左边的外部连接,又叫做左连接,主表在右边的连接,有叫做右连接。
假设user表中有一个id为2,name 为user2的记录,他在post表里还没有写下任何post:
select u.name,p.title from post p right (left) join user u on u.id=2;
查询结果:
+———+——-+
| name |title |
+———+——-+
| user2 | NULL |
+———+——-+