首页 > 语言 > PHP > 正文

php中博客日历实现代码

2024-09-04 11:48:36
字体:
来源:转载
供稿:网友

分享一款php中博客日历实现代码,里面有一句是查询数据库的这个很简单,只要你修改一下字段名与你数据库相同就行了,实例代码如下:

  1. function calendarnew($starttime = 0) { 
  2.  
  3. global $db$tablepre$timestamp$site_timeoffset$site_dateformat$curtime; 
  4.  
  5. $starttime = $starttime ? $starttime : $timestamp
  6. $curtime = gmdate($site_dateformat$starttime + $timeoffset * 3600); 
  7.  
  8. $pendtime = $starttime - (gmdate('j'$starttime + $timeoffset * 3600) - 1) * 86400 - ($starttime + $timeoffset * 3600) % 86400; 
  9.  
  10. $pstarttime = $pendtime - gmdate('t'$pendtime + $timeoffset * 3600 - 1) * 86400; 
  11.  
  12. $nstarttime = $pendtime + gmdate('t'$pendtime + $timeoffset * 3600 + 1) * 86400; 
  13. $nendtime = $nstarttime + gmdate('t'$nstarttime + $timeoffset * 3600 + 1) * 86400; 
  14. list($skip$dim) = explode('-'gmdate('w-t'$pendtime + $timeoffset * 3600 + 1)); 
  15.  
  16. $rows = ceil(($skip + $dim) / 7); 
  17. $blogs = array(); 
  18.  
  19. $query = $db->query("SELECT dateline FROM {$tablepre}vitaitems WHERE dateline BETWEEN '$pendtime' AND '$nstarttime'"); 
  20.  
  21. while($blog = $db->fetch_array($query)) { 
  22.  
  23. $day = gmdate('j'$blog['dateline'] + $timeoffset * 3600); 
  24.  
  25. !isset($blogs[$day]) ? $blogs[$day] = array('num' => 1, 'dateline' => $blog['dateline'] - $blog['dateline'] % 86400) : $blogs[$day]['num']++; 
  26. $cal = ''
  27. for($row = 0; $row < $rows$row++) { 
  28. $cal .= '<tr align="center" class="smalltxt">'
  29. for($col = 0; $col < 7; $col++) { 
  30. $cur = $row * 7 + $col - $skip + 1; 
  31. $curtd = $row * 7 + $col < $skip || $cur > $dim ? '&nbsp;' : $cur
  32. if(!isset($blogs[$cur])) { 
  33. $cal .= '<td>'.$curtd.'</td>'
  34. else { 
  35. $cal .= '<td><a href="blog.php?uid='.$uid.'&starttime='.$blogs[$cur]['dateline'].'&endtime='.($blogs[$cur]['dateline'] + 86400).'" title=" '.$blogs[$cur]['num'].' "><b>'.$cur.'</b></a></td>'
  36. $cal .= ''
  37. return $cal

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表