根据秒数,得到多少天多少小时多少分钟多少秒之前的事件

Filed under: 程序 | No Comments »
Posted on

计算两个时间差$time=$time1-$time2;

再算出时间差折合多少天多少秒,比如一天是24*60*60=86400秒,一小时是60*60=3600秒,如此如此

然后计算出相差多少天,向下取整,$days=floor($timedif/86400);

$days的值就是相差的天数,余数被略去了,当然可以用类似的操作再计算出余下多少小时多少分钟多少秒.

  1. <?php 
  2.  
  3.     $time = 5363;
  4.  
  5.     function interval_time($time){ 
  6.         $days = interval_day($time);        //多少天
  7.         $hour = interval_hour($time-86400*$days);
  8.         $minute = interval_minute($time-86400*$days-3600*$hour);
  9.         $second = interval_second($time-86400*$days-3600*$hour-60*$minute);
  10.        
  11.         $str = "";
  12.         $str.= $days ? $days."":"";
  13.         $str.= $hour ? $hour."小时":"";
  14.         $str.= $minute ? $minute."":"";
  15.         $str.= $second ? $second."":"";
  16.         return $str;
  17.     } 
  18.     function interval_day($time){ 
  19.         if ($time>=86400){ 
  20.             return floor($time/86400);        //多少天
  21.         } 
  22.     } 
  23.     function interval_hour($time){ 
  24.         if ($time>=3600 and $time<86400){ 
  25.             return floor($time/3600);        //多少小时
  26.         } 
  27.     } 
  28.     function interval_minute($time){ 
  29.         if ($time>=60 and $time<3600){ 
  30.             return floor($time/60);        //多少分钟
  31.         } 
  32.     } 
  33.     function interval_second($time){ 
  34.         if ($time>0 and $time<60){ 
  35.             return $time;        //多少秒
  36.         } 
  37.     } 
  38.  
  39.     echo interval_time($time);
  40. ?>

输出结果为:1小时29分23秒

php 比较多维数组大小 排序

Filed under: 程序 | No Comments »
Posted on

根据数组的键进行比较大小,排序,就不用说了,php有很多,很方便的内置函数,krsort(), ksort()等
如果是根据数组的值进行比较大小就麻烦一些。
如果值没有重复的情况,可以先用 array_flip() 交换键、值;然后krsort(),然后在array_flip()交换回来,就可以比较大小。
详情查看 »

正则查找出所有的图片src地址

Filed under: 程序 | 1 Comment »
Posted on

提取一段文本里的所有图片地址,所有的标准,不标准html代码格式,基本都考虑到了,如果还有其他情况,请留言。

  1. < ?php
  2.     $str = "<img src="http://www.d5s.cn/wp-admin/a.Gif" alt="\" /> <img src="http://www.d5s.cn/uploadfile/images/200511722531871.jpg" /> <img src="http://www.d5s.cn/b.jpG" /> <img src="http://www.d5s.cn/" /> <img src="http://www.d5s.cn/wp-admin/d.jpG" /> <img src="http://www.d5s.cn/" /><img src="http://www.d5s.cn/wp-admin/f.JPG" />";
  3. preg_match_all("/<img (.+?)src=('|\")?([^\s]+?)('|\"|\/>)/is", $str, $arr);
  4.     echo '<pre>';
  5.     print_r($arr[3]);
  6.     echo '</pre>';
  7. ?>

结果为:
Array
(
[0] => a.Gif
[1] => /uploadfile/images/200511722531871.jpg
[2] => /b.jpG
[3] => c.jpG
[4] => d.jpG
[5] => e.jpg
[6] => f.JPG
)
详情查看 »

不错的php图形类库 – JPGraph

Filed under: 程序 | No Comments »
Posted on

 今天看到一篇关于php图形类库的介绍,就转载过来了,说不定哪天会用上,就先记录一下。

以下转自: http://www.achome.cn/blog/?p=321

最近在用一个非常不错的php图形类库-JPGraph,来给各种统计数据绘图,感觉非常好用和强大,可以画各种统计图和曲线,也可以自定义展示颜色和字体等展示元素,和大家分享一下吧,下载地址如下:
http://download.chinaunix.net/download/0006000/5098.shtml

顺便附一个用jpgraph画柱状图的例子:

  1. include ("./graph/jpgraph.php");
  2. include ("./graph/jpgraph_bar.php");
  3.  
  4. $graph = new Graph(600,250,"auto");
  5. $graph->img->SetMargin(50,20,30,65);
  6. $graph->SetScale("textlin");
  7. $graph->SetShadow();
  8. $graph->title->Set("");
  9.  
  10. // Slightly adjust the legend from it's default position
  11. $graph->legend->SetLayout(LEGEND_HOR);
  12. $graph->legend->Pos(0.5,0.95,"center","bottom");
  13. $graph->legend->SetFont(FF_FONT1,FS_BOLD);
  14.  
  15. // Setup X-scale
  16. $graph->xaxis->SetTickLabels($xscal);//x坐标赋值
  17. $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);//x坐标显示字体
  18. $graph->xaxis->SetLabelAngle(0);//x坐标显示角度
  19.  
  20. $bar = new BarPlot($speedArr);//赋值给柱状图
  21. $bar->SetFillColor("orange");//柱状图填充颜色
  22. $bar->value->Show();
  23.  
  24. $graph->Add($bar);
  25. // Output line
  26. $graph->Stroke();

jquery和prototype的比较,以及冲突解决

Filed under: 交互设计, 程序 | 4 Comments »
Posted on

初次试用jQuery,到底是prototype好还是jquery好?之前的项目已经使用了prototype,现加入jquery后,立刻罢工,搜了一下,还是有解决办法的(原文),不过最后我还是抛弃prototype,开始使用jquery了。

<script src=”prototype.js” mce_src=”prototype.js”></script>
<script src=”http://blogbeta.blueidea.com/jquery.js” mce_src=”http://blogbeta.blueidea.com/jquery.js”></script>
<script type=”text/javascript”>
      jQuery.noConflict();
</script>

注意:一定要先引入prototype.js 再引入jquery.js,先后顺序不可错。

如果先包含jQuery,将引起代码终止,作为提醒,jQuery将抛出一个异常:“You are overwriting jQuery, please include jQuery  last.”

 prototype中最方便的函数莫过于

<input id=”blueidea” value=”蓝色” type=”text” />
$(”blueidea”)   ===  document.getElementById(”blueidea”)    某id的对象

$F(”blueidea”)   ===  document.getElementById(”blueidea”).value   表单的值

如今使用jquery,这些都没有了。

$(”#id”) 这样虽然也可以获得某id的对象,但是不能对此id进行常规的js操作。(也许有方法,不过我还不会。)

例如

<input id=”blue” value=”蓝色” type=”text” />
<div id=”idea”>蓝色理想</div>

现在改为

id=”blue”的值”蓝色”改为 “经典”;
id=”idea”的节点文字”蓝色理想”改为”<b>经典论坛</b>”

prototype写法:
$(”blue”) .value=”http://blogbeta.blueidea.com/经典”;
$(”idea”).innerHTML=”<b>经典论坛</b>”;  或者
Element.update(”idea”, “<b>经典论坛</b>”);

这些都不能这么写,而要用

jquery写法:
$(”#blue”) .val(”经典”);

$(”#idea”).empty();    //先置空此元素
$(”#idea”).append(”<b>经典论坛</b>”);    //再添加新的字符串

如果你把prototype换成jquery了,但是还想使用prototype中的方便函数

建议自己定义两个函数

function $G(id){
 return document.getElementById(id);
}
function $F(id){
 return $G(id).value;
}

以前的javascript思想要改变了,用了jquery一切就要jquery的规范来,好处就是不用担心浏览器兼容性了,反正用的是jquery的函数,不兼容就是他的问题了,如果是自己随意写,就有浏览器的兼容性问题。

目前为止prototype最方便就是有chm手册,查询起来很方便,而jquery只有英文的api文档,虽然也不错,但还是期待jquery的中文chm。

mysql 删除表中的重复记录,只保留其中一条

Filed under: 程序 | No Comments »
Posted on

查询重复记录 select * from table GROUP BY name 

只把有重复的显示出来
select * ,count(*) as nums from tab_a group by name having nums>1

方法一:(这个方法比较不错,只是自增字段会重建)

  新建一个临时表  
  create   table   tmp   as   select   *   from   youtable   group   by   name  
  删除原来的表  
  drop   table   youtable  
  重命名表  
  alter   table   tmp   rename   youtable

方法二:(未试过)

CREATE TEMPORARY TABLE
bad_temp2(id VARCHAR(10), name VARCHAR(20))
TYPE=HEAP;

INSERT INTO bad_temp2(name) SELECT DISTINCT name FROM bad_table2;

DELETE FROM bad_table2;

INSERT INTO bad_table2(id,name) SELECT id,name FROM bad_temp2;

以上方法采用建立临时表的办法删除了 bad_table2 中 name 字段有重复的记录。

批量更新记录的时间

Filed under: 程序 | No Comments »
Posted on
下载: timer.js
  1. <?php
  2.     $list_num = 5;    //每5条记录更新一次时间
  3.     $sum = 100;        //共100条
  4.     $time = time();   //初始时间
  5.     for ($i=0; $i<$sum; $i++){
  6.         $str = $i." = ";
  7.         if (($i) % $list_num ==0) {
  8.             echo "<hr>";
  9.             $time = $time+3600*24;
  10.         }else{
  11.             $time = $time;
  12.         }
  13.         $str.= $time." = ".date("Y-m-d H:i:s", $time)."<br/>";
  14.         //"UPDATE `table` SET timer = '$time' WHERE id = ".$i;
  15.         echo $str;
  16.     }
  17. ?>

wordpress 分页错误

Filed under: 程序 | No Comments »
Posted on

SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND (post_type = ‘post’ AND (post_status = ‘publish’ OR post_status = ‘private’)) ORDER BY post_date DESC LIMIT 0, 10

这个错误的解决办法

修改 模版下面的 pagination.php 文件

把这个preg_match(’#FROM\s(.*)\sGROUP BY#siU’, $request, $matches);

改为

preg_match(’#FROM\s(.*)\sORDER BY#siU’, $request, $matches);

然后上传 pagination.php 即可。

具体你可以这样调试

echo $request;
echo ‘<pre>’;
print_r($matches);
echo ‘</pre>’;

把这个打印出来看看,可能是正则错误了。

php中加入了时区的设置,造成了我们中国的用户会差八个小时的问题

Filed under: 程序 | 2 Comments »
Posted on

从php5.10开始,php中加入了时区的设置,在php中显示的时间都是格林威治标准时间,这就造成了我们中国的用户会差八个小时的问题!  

  [Date]  
  ;date.timezone   =  
  默认是关闭的,只需把注释去掉,改为 Asia/Hong_Kong 即可  
  ;   Defines   the   default   timezone   used   by   the   date   functions  
    date.timezone = Asia/Hong_Kong

  其他选项可以参考php手册。  
   
  也可以调用date_default_timezone_get()来查看当前的时区设置!  
  中国內地可用的值是:  
  中国港台地區可用:Asia/Macao   ,Asia/Hong_Kong   ,Asia/Taipei   (依次為澳門,香港,台北)  
  还有新加坡:Asia/Singapore  

分页: Prev 1 2 3
1,995 垃圾评论
截获自
Akismet