Home  >  Article  >  Backend Development  >  Blog calendar implementation code in php

Blog calendar implementation code in php

高洛峰
高洛峰Original
2016-11-29 15:56:031014browse

Share a blog calendar implementation code in php. There is a sentence in it that querying the database is very simple. As long as you modify the field name to be the same as your database, the example code is as follows:

function calendarnew($starttime = 0) {

global $db, $tablepre, $timestamp, $site_timeoffset, $site_dateformat, $curtime;

$starttime = $starttime ? $starttime : $timestamp;

$curtime = gmdate($site_dateform at, $ starttime + $timeoffset * 3600);

$pendtime = $starttime - (gmdate('j', $starttime + $timeoffset * 3600) - 1) * 86400 - ($starttime + $timeoffset * 3600) % 86400 ;

$pstarttime = $pendtime - gmdate('t', $pendtime + $timeoffset * 3600 - 1) * 86400;

$nstarttime = $pendtime + gmdate('t', $pendtime + $ timeoffset * 3600 + 1) * 86400;

$nendtime = $nstarttime + gmdate('t', $nstarttime + $timeoffset * 3600 + 1) * 86400;

list($skip, $dim) = explode(' -', gmdate('w-t', $pendtime + $timeoffset * 3600 + 1));

$rows = ceil(($skip + $dim) / 7);

$blogs = array( );

$query = $db->query("SELECT dateline FROM {$tablepre}vitaitems WHERE dateline BETWEEN '$pendtime' AND '$nstarttime'");

while($blog = $ db->fetch_array($query)) {

$day = gmdate('j', $blog['dateline'] + $timeoffset * 3600);

!isset($blogs[$day ]) ? $blogs[$day] = array('num' => 1, 'dateline' => $blog['dateline'] - $blog['dateline'] % 86400) : $blogs[$day ]['num']++;

}

$cal = '';

for($row = 0; $row < $rows; $row++) {

$cal .= '';

for($col = 0; $col < 7; $col++) {

$cur = $row * 7 + $col - $skip + 1 ;

$curtd = $row * 7 + $col < $skip || $cur > $dim ? ' ' : $cur;

if(!isset($blogs[$cur])) {

$cal .= ''.$curtd.'';

} else {

$cal .= '.$uid.'&starttime='.$blogs[$cur]['dateline'].'&endtime='.($blogs[$cur]['dateline'] + 86400) .'" title=" '.$blogs[$cur]['num'].' ">'.$cur.'' ;

}

}

$cal .= '';

}

return $cal;

}


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn