简明现代魔法 -> PHP服务器脚本 -> 获取PHPCMS有文章更新的日子

获取PHPCMS有文章更新的日子

2010-12-08

今天有这么一个需求,PHPCMS上12月份,有文章发表与更新的,把该天的日子读出来,读成一个字符串。比如3号和5号有文章发表,那么读出的结果就这样:3,5。由于时间比较匆忙,程序如下,有待改进:

<?php

require("includes/dbinfo.php");
require("includes/nmdb.php");

$connector = new nmdb($host, $username, $password);
$connector -> select_db($database);

$query = "select * from phpcms_content where url like '2010/12%' ";

$result = $connector -> query($query);
if (!$result) 
{
  	die('Invalid query: ' . mysql_error());
}

$i = 0;
while ($row = $connector -> fetch_array($result)){
	$dates = date("j", $row['inputtime']);
	$source_array[$i] = $dates;
	$i++;
}

$target_array = array_unique($source_array);
$days = implode(",", $target_array);
echo $days;
?>

程序虽然比较简单,但是有下面几点需要积累下:

1. 首先通过while循环将日期全部读取出来。PHPCMS的时间都是保存了时间戳,所以需要用$dates = date("j", $row['inputtime']); 之类的方式把日期获取出来。

2. 日期的格式化问题。

  • 大写Y表示年四位数字,而小写y表示年的两位数字;
  • 小写m表示月份的数字(带前导),而小写的n则表示不带前导的月份数字。
  • 大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
  • 没有大写的J,只有小写j表示月份的日期,无前导0;
  • 若要日份带前导则使用小写d。
  • 大写M表示月份的三个缩写字符,而大写F表示月份的英文全写。(没有小写f)
  • 大写S表示日期的后缀,比如"st"、"nd"、"rd"和"th",具体看日期数字为何。

小结:表示年可以用大写的Y和小写的y;表示月可以用大写的F、大写M、小写m和小写n(分别表示字符和数字的两种方式);表示日可以用小写d和小写j,大写S表示日期的后缀。

3. 数组去重问题,很简单,使用函数array_unique()即可。

4. 将数组转化为字符串,使用implode()函数。

在这里简单记录下。

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们