仓酷云

标题: PHP网页编程之数据库字段复用的根基道理与示例 [打印本页]

作者: 谁可相欹    时间: 2015-2-3 23:37
标题: PHP网页编程之数据库字段复用的根基道理与示例
我是根据自己的成长历程来写的,如有不对的还请指正。      1、逻辑代数基本:
  1,数字用二进制暗示,一切能够呈现的数只要0和1两个。
  2,根基运算只要“与”、“或”、“非”三种。
  与运算界说为:(用 & 暗示与运算)
  0 & 0 = 0
  0 & 1 = 0
  1 & 0 = 0
  1 & 1 = 1
  可以复杂了解为:只需有一个0,了局就是0,和乘法相似。
  或运算界说为:(用 暗示与运算)
  0 0 = 0
  0 1 = 1
  1 0 = 1
  1 1 = 1
  可以复杂了解为:只需有一个1,了局就是1,和加法相似。
  2、逻辑运算示例:
  01111010101010101111111111111111 & 1100000 = 1100000
  普通可以了解为:
  假如要获得一个数字某N位的数值,只需求将这个数字与2的N-1次方(掩码)停止与运算便可。
  3、数据库字段界说:
  以数据表 binary_sample为例:
  create table binary_sample(
  uid int unsigned not null,
  status int unsigned not null default 0,
  primary key(uid),
  key i_s(status)
  )engine=innodb;
  status字段界说:
  status字段数据类型为32bit的整数,为了尽量的存储多个属性,咱们将其停止以下界说:
  以下一切“位”的描写按次依照从低到高(从右到左)按次暗示。
  0-2位暗示用户注册形态:
  000 暗示新注册未被同意
  001 暗示注册被同意
  010 暗示位初级用户
  011 暗示办理员
  100 暗示超等办理员
  101 保存
  110 保存
  111 掩码
  3-5位用户性别:
  000 暗示性别不肯定
  001 暗示性别为男
  010 暗示性别为女
  011 保存
  100 保存
  101 保存
  110 保存
  111 掩码
  假如咱们要查询一切 男用户 则:
  select * from binary_sample where status & b'111000' = b'001000';
  假如咱们要查询一切 办理员用户 则:
  select * from binary_sample where status & b'111' = b'011';
  假如咱们要查询一切 男办理员用户 则:
  select * from binary_sample where status & b'111111' = b'001011';
  假如咱们要查询一切 非 新注册未被同意用户 则:
  select * from binary_sample where status & b'111' != b'000';
  四,利用PHP法式停止此类盘算:
  define("USER_NEW",0);//000
  define("USER_NORMAL",1);//001
  define("USER_ADVANCE",2);//010
  define("USER_MANAGE",3);//011
  define("USER_SUPER",4);//100
  define("USER_MASK",7);//111
  define("GENDER_UNKNOWN",0);// 000000
  define("GENDER_MALE",8);// 001000
  define("GENDER_FEMALE",9);// 010000
  define("GENDER_MASK",56);// 111000
  假如咱们要查询一切 男用户 则:
  $status=GENDER_MALE;
  $mask=GENDER_MASK;
  $sql="select * from binary_sample where status & ${mask}' = ${status}";
  假如咱们要查询一切 办理员用户 则:
  $status=USER_MANAGE;
  $mask=USER_MASK;
  $sql="select * from binary_sample where status & ${mask}' = ${status}";
  假如咱们要查询一切 男办理员用户 则:
  $status=GENDER_MALE & USER_MANAGE;
  $mask = GENDER_MASK & GENDER_MASK;
  $sql="select * from binary_sample where status & ${mask}' = ${status}";
  假如咱们要查询一切 非 新注册未被同意用户 则:
  $status = USER_NEW;
  $mask = USER_MASK;
  $sql="select * from binary_sample where status & ${mask} != ${status}";
  依此类推,只需界说好每一个值的寄义,查询根基上就定了。
<P style="TEXT-INDENT: 2em">
我是根据自己的成长历程来写的,如有不对的还请指正。
作者: 因胸联盟    时间: 2015-2-4 03:57
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 蒙在股里    时间: 2015-2-9 15:31
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 变相怪杰    时间: 2015-2-9 15:31
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 乐观    时间: 2015-2-27 08:08
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 简单生活    时间: 2015-3-8 23:48
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 若天明    时间: 2015-3-14 16:36
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 活着的死人    时间: 2015-3-21 12:04
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 仓酷云    时间: 2015-3-26 12:59
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 柔情似水    时间: 2015-3-31 06:08
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 金色的骷髅    时间: 2015-4-5 13:06
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 精灵巫婆    时间: 2015-4-10 22:59
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 再见西城    时间: 2015-4-28 07:00
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 只想知道    时间: 2015-5-3 00:01
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 谁可相欹    时间: 2015-6-12 14:28
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者: 不帅    时间: 2015-6-23 07:18
当然这种网站的会员费就几十块钱。
作者: 兰色精灵    时间: 2015-6-29 00:21
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 小魔女    时间: 2015-7-5 16:42
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 愤怒的大鸟    时间: 2015-7-9 17:22
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2