2014年2月18日
摘要: 自动适应范围的页码分页程序也就是说,页码格式如下 >> >>$pages) $page = $pages;//计算查询偏移量$offset = $pagesize*($page-1);//页码范围计算$init = 1;//起始页码数$max = $pages;//结束页码数$pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数$pageoffset = ($pagelen-1)/2;//页码个数左右偏移量//生成html$pagecode='';$pagecode.="$page/$pages&q 阅读全文
posted @ 2014-02-18 12:01 大海航手 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 在看本文之前,请确保你已掌握了PHP的一些知识以及MYSQL的查询操作基础哦。作为一个Web程序,经常要和不计其数的数据打交道,比如会员的数据,文章数据,假如只有几十个会员那很好办,在一页显示就可以了,可是假如你的网站是几千甚至几十万会员的话,如果都在一页打开的话无论对浏览器还是观看者都是一种折磨,而且如果数据上亿,从数据库里查询一次的话,对服务器的压力是很大的,这不是正确的方法。相信每个学习PHP的新手都会对分页这个东西感觉很头疼,不过有了默默的这一水帖,你肯定会拍拍脑袋说,嘿,原来分页竟然如此简单?的确,现在请深呼吸一口新鲜的空气,仔细的听默默给你一点一点的分解。假设我们要处理1000条数 阅读全文
posted @ 2014-02-18 10:36 大海航手 阅读(402) 评论(0) 推荐(0) 编辑
  2014年2月12日
摘要: 用thinkphp这么久了,这个功能还一直没用过。平时都是直接继承的Model类我们以用户表为核心,来描述如何使用表的关联操作。假设存在如下的关联情况:每个用户有一个档案表是HAS_ONE关联;每个用户属于一个部门是BELONGS_TO关联;每个用户有多张银行卡是HAS_MANY关联;每个用户可能属于多个项目组,每个项目组也有多个用户是MANY_TO_MANY关联。我们首先来创建数据表,以MySQL为例:// 部门表CREATETABLE`think_dept`(`id`smallint(3)NOTNULLauto_increment,`name`varchar(50)NOTNULL,PRIM 阅读全文
posted @ 2014-02-12 17:59 大海航手 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 学过sql的人都知道有表左关联,右关联,但是sql语句要写很多,非常容易出错,而ThinkPHP的视图模型则简单化很多了。还发现个问题,貌似ThinkPHP手册写的很多东西都不是很完善,很多人看了都不懂。如果有什么不懂的,可以加群:252799167交流,或者给我留言,今天就写个ThinkPHP的视图模型小例子,让大家知道该怎么用。 mysql的表关联其实就是将多个表的数据联系到一起,然后临时生成一张表,方便读取数据。而在ThinkPHP中视图表同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在 阅读全文
posted @ 2014-02-12 16:08 大海航手 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 联合查询1、原生查询$sql=$sql='selectp.product_name,z.messageaszmessage,z.rdtime,r.message,r.rdtimefromwsd_productasp,wsd_product_zixunasz,wsd_product_zixun_replyasrwherep.id=z.lipin_idandz.id=r.zixun_idorderbyz.rdtime';$list=$Form->query($sql);2、join()两表查询$list=$Form->join('think_sortONthin 阅读全文
posted @ 2014-02-12 11:34 大海航手 阅读(321) 评论(0) 推荐(0) 编辑
  2014年2月10日
摘要: 前言:使用awk作为文本处理工具,正则表达式是少不了的。 要掌握这个工具的正则表达式使用。其实,我们不必单独去学习它的正则表达式。正则表达式就像一门程序语言,有自己语法规则已经表示意思。 对于不同工具,其实大部分表示意思相同的。在linux众多文本处理工具(awk,sed,grep,perl)里面用到正则表达式。其实就只有3种类型。详细可以参考:linux shell 正则表达式(BREs,EREs,PREs)差异比较 。只要是某些工具是属于某种类型的正则表达式。那么它的语法规则基本一样。 通过那篇文章,我们知道awk的正则表达式,是属于:扩展的正则表达式(Extended Regular E 阅读全文
posted @ 2014-02-10 23:06 大海航手 阅读(291) 评论(0) 推荐(0) 编辑
  2014年1月19日
摘要: 今天在纠结grep用法时候,由于讲解的教材比较少,纠结了较长的时间。最终还是攻下了,所以拿出来给大家分享。grep 显示匹配一个或多个模式的文本行,时常会作为管道后的第一步,以便对匹配上的数据做进一步处理。最常见用法,查询文件内字符串[root@localhost /]# grep root /etc/shadow root:$1$HFDnk5hm$DSAc4IUls1yUyocXFNQ.A.:15141:0:99999:7::: [root@localhost /]# 参数-E 使用扩展正则表达式进行匹配,使用grep –E 代替传统的扩展正则表达式 egrep扩展正则表达式和正则表达式的. 阅读全文
posted @ 2014-01-19 18:20 大海航手 阅读(15069) 评论(0) 推荐(0) 编辑
摘要: 通知web服务器不通ip出现的次数 # cat access_log | awk '{print $1}'|sort|uniq -c |sort -n 或者 # cat access_log | awk '{print $1}'| sort -n | awk '{S[$NF]++}END {for(a in S) {print a "\t" S[a]}}' | sort +1 -2nr 解释: awk ‘{print $4}’ : 通过管道将第一个字段也就是ip地址筛选出来 sort -n :将ip地址进行排序 awk ‘{S 阅读全文
posted @ 2014-01-19 17:55 大海航手 阅读(2719) 评论(0) 推荐(0) 编辑
摘要: 行的排序命令sort: 1. sort命令行选项: 选项 描述 -t 字段之间的分隔符 -f 基于字符排序时忽略大小写 -k 定义排序的域字段,或者是基于域字段的部分数据进行排序 -m 将已排序的输入文件,合并为一个排序后的输出数据流 -n 以整数类型比较字段 -o outfile 将输出写到指定的文件 -r 倒置排序的顺序为由大到小,正常排序为由小到大 -u 只有唯一的记录,丢弃所有具有相同键值的记录 -b 忽略前面的空格 2. sort使用实例: 提示:在下面的输出结果中红色标注的为第一排序字段,后面的依次为紫、绿。 /> sed -n '1,5p' /etc/pas 阅读全文
posted @ 2014-01-19 17:30 大海航手 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 一、使用awk1、调用awkawk [options] -f progfile [--] file ...awk [options] [--] 'program' file ...2、命令行选项-F fs--field-separator fs设置字段分隔符,如打印用户:awk -F : '{print $1}' /etc/passwd-f source-file--file source-file从文件读取程序,如:awk -f file /etc/passwdfile内容为:#!/bin/awk -fBEGIN {FS=":"}{prin 阅读全文
posted @ 2014-01-19 16:31 大海航手 阅读(546) 评论(0) 推荐(0) 编辑