月归档:2010 年八月

【转】smarty 学习 技巧篇

变量调节器 变量调节器用于变量,自定义函数和字符串。请使用‘|’符号和调节器名称应用调节器。变量调节器由赋予的参数值决定其行为。参数由‘:’符号分开。 例 5-1.调节器的例子 {* 把标题变为大写 *} <h2>{$title|upper}</h2> {* 截取40个字符,用省略号代替后面的文字 *} Topic: {$topic|truncate:40:”…”} {* 格式化字符串 *} {“now”|date_format:”%Y/%m/%d”} {* 定制函数进行修改 *} {mailto|upper address=”me@domain.dom”} 如果你给数组变量应用单值变量的调节,结果是数组的每个值都被调节。如果你只想要调节器用一个值调节整个数组,你必须在调节器名字前加上@符号。例如: {$articleTitle|@count}(这将会在 $articleTitle 数组里输出元素的数目) capitalize首字母大写 将变量里的所有单词首字大写。 例 5-2.首字大写 index.php: $smarty = new Smarty; $smarty->assign(‘articleTitle’, ‘Police begin campaign to … 继续阅读

发表在 Php | 标签为 , , , | 留下评论

【转】文件 r+ w+ a+ fseek

//c变为d #include"stdio.h" void main() {     FILE *fp;     char ch;     if((fp=fopen("d:\file.txt","r+"))==NULL)     {          printf("Check File Path!n");          return ;            }     while(!feof(fp))     {          ch=fgetc(fp);         if(ch == ‘c’)     … 继续阅读

发表在 默认分类 | 标签为 | 留下评论

【转】php二分查找法(又称折半查找法)

二分查找又称折半查找,它是一种效率较高的查找方法。【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。例子: <?php $a=range(0,9546); $high=count($a) - 1; $mid=0; $low=0; $found=0; $m=456; while( ($low<=$high) && ($found==0)) { $mid=floor( ($low+$high) / 2 ); if($m<$a[$mid])    $high=$mid-1; elseif($m>$a[$mid])    $low=$mid+1; else     { $found=1; $key=$mid; } $i++; } echo “共进行了{$i}次查找n<br />n”; echo “找到的下标是{$mid}n<br />n”; echo “找到标志位{$found}n<br />n”; ?>

发表在 Php | 标签为 | 留下评论

【转】js判断页面加载完成

如何用js判断页面加载完成? <script> <!– document.onreadystatechange = subSomething;//当页面加载状态改变的时候执行这个方法. function subSomething() { if(document.readyState == "complete"&&window.parent.frames["框架名"].document.readyState == "complete") //当页面加载状态为完全结束时进入 myform.submit(); //这是你的操作 } //–> </script> ————– 那就再加个IF条件呗: window.parent.frames["mainFrame"].document.readyState == "complete" 上面代码已修改. ————– 没有name就加个name呗.而且就算没有name也照样可以那么写啊.没有影响的. 或者你也可以这么写: window.parent.frames.框架名.document….. ===================================================================================================== function loadCheck() { var bool = parent.document.frames['frame'].document.readyState == ‘complete’; … 继续阅读

发表在 Javascript | 标签为 | 留下评论

【转】PHP取整函数

PHP取整函数 首先必须得承认我很粗心,我是在昨天晚上在做一个分页的时候才发现在PHP中的“/”不像其它语言中的“整除”而是得到一个浮点数,例如:3/2,不会得到1,而是得到1.5。所以就需要使用某个取整函数根据需要把除法的结果进行加工,以得到满意的形式。 经常用到的PHP取整函数,主要是:ceil,floor,round,intval ceil–进一法取整 说明 float ceil(floatvalue) 返回不小于value的下一个整数,value如果有小数部分则进一位。ceil()返回的类型仍然是float,因为float值的范围通常比integer要大。 例子1.ceil()例子 <?php echo ceil(4.3);//5 echo ceil(9.999);//10 ?> floor–舍去法取整 说明 float floor(floatvalue) 返回不大于value的下一个整数,将value的小数部分舍去取整。floor()返回的类型仍然是float,因为float值的范围通常比integer要大。 例子1.floor()例子 <?php echo floor(4.3);//4 echo floor(9.999);//9 ?> round–对浮点数进行四舍五入 说明 float round(floatval [,intprecision]) 返回将val根据指定精度precision(十进制小数点后数字的数目)进行四舍五入的结果。precision也可以是负数或零(默认值)。 例子1.round()例子 <?php echo round(3.4);//3 echo round(3.5);//4 echo … 继续阅读

发表在 Php | 标签为 | 留下评论

【转】JS判断页面加载完毕

使用 document.onreadystatechange()来判断,如果加载完,就执行一个操作。function document.onreadystatechange(){if (document.readyState==”complete”) {     //要做的操作。   }}说明 :onreadystatechange 事件能辨识readyState 属性的改变

发表在 Javascript | 标签为 | 留下评论

【转】SQL 聚合函数

SQL 聚合函数 通过SQL聚合函数,可以确定数值集合的各种统计值。可以在查询和聚合表达式中使用这些函数,并在 QueryDef 对象的 SQL 属性中使用这些表达式,或者在基于 SQL 查询来创建 Recordset 对象时使用这些表达式。 Avg 函数 Count 函数 First、Last 函数 Min、Max 函数 StDev、StDevP 函数 Sum 函数 Var、VarP 函数 Avg 函数 计算在查询的指定字段中所包含的一组值的算术平均值。 语法 Avg(expr) expr 占位符代表一个字符串表达式,它标识的字段包含被计算平均值的数据,或者代表使用该字段的数据执行计算的表达式。expr 中的操作数可包括表字段名、常量名或函数名(可以是固有的或用户自定义的函数,但不能是其他 SQL 聚合函数)。 说明 使用 Avg 计算的平均值是算术平均值(值的总和除以值的数目)。例如,可以使用 Avg … 继续阅读

发表在 Mysql | 标签为 | 留下评论

多文件上传

js无限添加: var album={ ‘addMoreFile’:function(){      var newtr=$("<tr>");         var newtd1=$("<td>");      var newtd2=$("<td>");      var newtd3=$("<td>");        // newtd1.html("<span></span>");      newtd2.html("<input type="file" name="uploadfile[]" />");      newtd3.html("<a href="javascript:;" onclick="$(this).parents(‘tr’).remove();"></>删除</a>");      newtr.append(newtd1);      newtr.append(newtd2);      newtr.append(newtd3);      newtr.insertBefore("#file_tip");      } } … 继续阅读

发表在 Php | 标签为 , | 留下评论

sql用in优化查询

给博客分类添加博客数量 又是2个关联关系表。分类表:story_group 故事表:love_story 不会再查出所有分类,循环结果集然后再在循环里sql   select xx from love_story …… 然后number_rows吧。还是用in 吧,查询时间主要费在数据库连接时间上。 部分代码: //获取博客分组 $group_list = get_blog_groups($data['uid']); //获取分组下的博客数 foreach ($group_list as $key=>$val){ $gid_array[]="’".$val['id']."’"; } $gids=implode(",",$gid_array); $sql_count="select gid from love_story where isdel=’n’ and uid=’{$data['uid']}’ and gid in ({$gids})"; $result_all=$_db_wedding->fetch_array($_db_wedding->query($sql_count)); $result_by_group=array(); foreach($result_all as … 继续阅读

发表在 Php | 标签为 | 留下评论

sql用in优化查询

如图做一个收藏功能,可以收藏不同类型的东西。iid表示收藏品id,就是收藏的东西表里的那个自增长id,收藏表favorite如下图: 现在以收藏下载部分为例。 页面开始只有查询列表显示,现在要添加一个删除功能。删除当然要取favorite的id(不要用iid,比如说可能收藏的一个news的id和收藏的一个pic的id是一样的,虽然可以再加上type做限制保证唯一性,但是不推荐这样做,有个自增长id不用干什么呢?) 收藏表有关下载的记录: $sql = "select * from `favorite` where `uid`={$uid} and `type`=’download’ order by `ctime` desc"; $fan = Html::getlist($page,10,$sql,’download-list.php?page=’,$_db_wedding,"xie-page"); $data = $_db_wedding->fetch_array($fan['result']); 下一步用通过结果集$data里的iid去download表里查询每个收藏的下载的详细信息。 不要拿起就搞个foreach循环$data   然后在里面通过iid弄个查询,很费时间的,连接数据库是最费时的。 以前笨,写成这样: foreach($data as $val){ $sql="select * from download where id={$val['iid']} limit 1";//id应该是唯一的,加不加limit 1无所谓 … 继续阅读

发表在 Php | 标签为 , , , | 留下评论