基于php的CMS中展示文章类实例分析


Posted in PHP onJune 18, 2015

本文实例讲述了基于php的CMS中展示文章类。分享给大家供大家参考。具体分析如下:

<?php
/***********************************************
//实例:
include("config.inc.php"); //数据库连接文件
$info = new sys_function;
$test = new show_article;
$test->set_sql("SELECT `id`,`title`,`dateandtime`,`thetype` FROM `df_company_bringup` ORDER BY `dateandtime` DESC");
$test->set_filename("display");
$test->set_morename("morearticle");
$test->set_icon(" ☆ ");
$test->set_omitstr("...");
$test->show_company_bringup();
***********************************************/
/****Article List Class****/
class show_article
{
 /****声明****/
 var $sql,$query,$arr,$article_list;
  var $strlen,$articleline,$dateandtime;
  var $len,$line,$icon,$omitstr,$line_height,$more_name;
  var $year,$month,$day,$datetype;
  var $showmore,$showdate,$showomit,$showclueon,$showicon;
 /****构造函数****/
 function show_article()
  {
  $this->set_strlen(40); //设置每行显示字数;
  $this->set_articleline(10); //设置Article显示行数;
  $this->set_showmore(false); //是否显示"更多Article";
  $this->set_showdate(true); //是否显示Article发布日期;
  $this->set_showomit(true); //字数超过指定字符后是否显示所设置的字符,如"...";
  $this->set_showclueon(true); //是否显示Article提示(鼠标移动到Article标题上面显示的提示);
  $this->set_open(true); //是否在新窗口打开;
  $this->set_showicon(true); //是否显示Article修改前缀;
  $this->set_lineheight(1.5); //段落行高值;
  $this->set_datetype(1); //设置日期格式,1为2004-10-21 2为2004年10月21日;
 }
 /****设置每行显示字数****/
 function set_strlen($strlen)
  {
  $this->len = $strlen;
  }
 /****设置Article显示行数****/
 function set_articleline($articleline)
  {
  $this->line = $articleline;
  }
 /****设置查询语句****/
 function set_sql($sql)
  {
  $this->sql = $sql;
  }
 /****设置Article标题前缀修饰****/
 function set_icon($icon)
  {
  $this->icon = $icon;
  }
 /****是否显示Article标题前缀修饰****/
 function set_showicon($showicon)
  {
  $this->showicon = $showicon;
  }
 /****是否打开新窗口****/
 function set_open($open)
  {
  $this->open = $open;
  }
 /****设置Article标题长度超过限制后显示的字符****/
 function set_omitstr($omitstr)
  {
  $this->omitstr = $omitstr;
  }
 /****设置打开Article的文件名****/
 function set_filename($filename)
  {
  $this->filename = $filename;
  }
 /****更多Article页面名称****/
 function set_morename($more_name)
  {
  $this->more_name = $more_name;
  }
 /****Article分类名称****/
 function set_typename($type_name)
  {
  $this->type_name = $type_name;
  }
 /****是否显示更多Article****/
 function set_showmore($showmore)
  {
  $this->showmore = $showmore;
  }
 /****设置日期格式(1:2004-10-21 2:2004年10月21日)****/
 function set_datetype($datetype)
  {
  $this->datetype = $datetype;
  }
 /****格式化日期****/
 function formatdate($dateandtime,$num)
  {
  list($year,$month,$day) = split("[-]",substr($dateandtime,0,10));
  if($num == 1){
   return $year."-".$month."-".$day;
  }else{
   return $year."年".$month."月".$day."日";
  }
  }
 /****是否显示Article发布日期****/
 function set_showdate($showdate)
  {
  $this->showdate = $showdate;
  }
 /****段落行高值****/
 function set_lineheight($line_height)
  {
  $this->line_height = $line_height;
  }
 /****是否显示Article标题长度超过限制后显示的字符****/
 function set_showomit($showomit)
  {
  $this->showomit = $showomit;
  }
 /****是否显示鼠标移动到Article上后显示的提示****/
 function set_showclueon($showclueon)
  {
  $this->showclueon = $showclueon;
  }
 /****从结果集中取得一行作为枚举数组****/
 function execute_row($query)
  {
  return $this->arr = mysql_fetch_row($query);
  }
 /****从结果集中取得一行作为关联数组,或数字数组,或二者兼有****/
 function execute_array($query)
  {
  return $this->arr = mysql_fetch_array($query);
  }
 /****将释放所有与结果标识符 result 所关联的内存****/
 function free_record($query)
  {
  @mysql_free_result($query);
  }
 /****调用指定Article List****/
 function show_company_bringup()
  {
  $n = 1;
  $article_list = "<div id='article_list".$n."' style='line-height:".$this->line_height."'>";
  $this->query = mysql_query($this->sql);
  while($this->execute_row($this->query))
  {
   if($this->showicon){$article_list .= $this->icon;}
  $article_list .= "<a href='".$this->filename.".php?id=".$this->arr[0]."'";
   if($this->showclueon){$article_list .= " title='".$this->arr[1]."' ";}
   if($this->open){$article_list .= " target='_blank' ";}
  $article_list .= ">";
   if(strlen($this->arr[1]) > $this->len)
   {
   if($this->showomit){
   $article_list .= substr($this->arr[1],0,$this->len).$this->omitstr;
   }else{
   $article_list .= substr($this->arr[1],0,$this->len);
   }
   }else{
   $article_list .= $this->arr[1];
   }
   if($this->showdate){$article_list .= "[".$this->formatdate($this->arr[2],$this->datetype)."]";}
  $article_list .= "</a><br>\n";
   if($n == $this->line){break;}
  $n++;
  }
  if($this->showmore){
  $article_list .= "</div><div id='article_list_more".$n."' align='right'><a href='".$this->more_name.".php?type=".$this->type_name."'>>> >更多</a></div>";
  }else{
  $article_list .= "</div>";
  }
  $this->free_record($this->query);
  print $article_list;
  }
}
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
php json转换成数组形式代码分享
Nov 10 PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP数组常用函数实例小结
Aug 20 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
Oct 08 PHP
php经典趣味算法实例代码
Jan 21 PHP
php实现的用户查询类实例
Jun 18 #PHP
php常用表单验证类用法实例
Jun 18 #PHP
php文件压缩之PHPZip类用法实例
Jun 18 #PHP
浅谈php中include文件变量作用域
Jun 18 #PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 #PHP
php实现只保留mysql中最新1000条记录
Jun 18 #PHP
php使用COPY函数更新配置文件的方法
Jun 18 #PHP
You might like
德生BCL3000的电路分析和打磨
2021/03/02 无线电
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
php解决约瑟夫环示例
2014/04/09 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
优秀教师先进事迹
2014/01/22 职场文书
2014自荐信的写作技巧
2014/01/28 职场文书
个性发展自我评价
2014/02/11 职场文书
庆六一活动总结
2014/08/29 职场文书
环卫工人节活动总结
2014/08/29 职场文书
学生会辞职信
2015/03/02 职场文书
小数乘法教学反思
2016/02/22 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python