计算两个时间差$time=$time1-$time2;
再算出时间差折合多少天多少秒,比如一天是24*60*60=86400秒,一小时是60*60=3600秒,如此如此
然后计算出相差多少天,向下取整,$days=floor($timedif/86400);
$days的值就是相差的天数,余数被略去了,当然可以用类似的操作再计算出余下多少小时多少分钟多少秒.
- <?php
- $time = 5363;
- function interval_time($time){
- $days = interval_day($time); //多少天
- $hour = interval_hour($time-86400*$days);
- $minute = interval_minute($time-86400*$days-3600*$hour);
- $second = interval_second($time-86400*$days-3600*$hour-60*$minute);
- $str = "";
- $str.= $days ? $days."天":"";
- $str.= $hour ? $hour."小时":"";
- $str.= $minute ? $minute."分":"";
- $str.= $second ? $second."秒":"";
- return $str;
- }
- function interval_day($time){
- if ($time>=86400){
- return floor($time/86400); //多少天
- }
- }
- function interval_hour($time){
- if ($time>=3600 and $time<86400){
- return floor($time/3600); //多少小时
- }
- }
- function interval_minute($time){
- if ($time>=60 and $time<3600){
- return floor($time/60); //多少分钟
- }
- }
- function interval_second($time){
- if ($time>0 and $time<60){
- return $time; //多少秒
- }
- }
- echo interval_time($time);
- ?>
输出结果为:1小时29分23秒
根据数组的键进行比较大小,排序,就不用说了,php有很多,很方便的内置函数,krsort(), ksort()等
如果是根据数组的值进行比较大小就麻烦一些。
如果值没有重复的情况,可以先用 array_flip() 交换键、值;然后krsort(),然后在array_flip()交换回来,就可以比较大小。
详情查看 »
提取一段文本里的所有图片地址,所有的标准,不标准html代码格式,基本都考虑到了,如果还有其他情况,请留言。
- < ?php
- $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" />";
- preg_match_all("/<img (.+?)src=('|\")?([^\s]+?)('|\"|\/>)/is", $str, $arr);
- echo '<pre>';
- print_r($arr[3]);
- echo '</pre>';
- ?>
结果为:
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图形类库的介绍,就转载过来了,说不定哪天会用上,就先记录一下。
以下转自: http://www.achome.cn/blog/?p=321
最近在用一个非常不错的php图形类库-JPGraph,来给各种统计数据绘图,感觉非常好用和强大,可以画各种统计图和曲线,也可以自定义展示颜色和字体等展示元素,和大家分享一下吧,下载地址如下:
http://download.chinaunix.net/download/0006000/5098.shtml
顺便附一个用jpgraph画柱状图的例子:
- include ("./graph/jpgraph.php");
- include ("./graph/jpgraph_bar.php");
- $graph = new Graph(600,250,"auto");
- $graph->img->SetMargin(50,20,30,65);
- $graph->SetScale("textlin");
- $graph->SetShadow();
- $graph->title->Set("");
- // Slightly adjust the legend from it's default position
- $graph->legend->SetLayout(LEGEND_HOR);
- $graph->legend->Pos(0.5,0.95,"center","bottom");
- $graph->legend->SetFont(FF_FONT1,FS_BOLD);
- // Setup X-scale
- $graph->xaxis->SetTickLabels($xscal);//x坐标赋值
- $graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);//x坐标显示字体
- $graph->xaxis->SetLabelAngle(0);//x坐标显示角度
- $bar = new BarPlot($speedArr);//赋值给柱状图
- $bar->SetFillColor("orange");//柱状图填充颜色
- $bar->value->Show();
- $graph->Add($bar);
- // Output line
- $graph->Stroke();
初次试用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。
查询重复记录 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 字段有重复的记录。
- <?php
- $list_num = 5; //每5条记录更新一次时间
- $sum = 100; //共100条
- $time = time(); //初始时间
- for ($i=0; $i<$sum; $i++){
- $str = $i." = ";
- if (($i) % $list_num ==0) {
- echo "<hr>";
- $time = $time+3600*24;
- }else{
- $time = $time;
- }
- $str.= $time." = ".date("Y-m-d H:i:s", $time)."<br/>";
- //"UPDATE `table` SET timer = '$time' WHERE id = ".$i;
- echo $str;
- }
- ?>
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>’;
把这个打印出来看看,可能是正则错误了。
从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
