基于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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
Feb 16 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
php 数组的指针操作实现代码
Feb 08 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
Oct 18 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python3标准库总结
2019/02/19 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
用Python开发app后端有优势吗
2020/06/29 Python
Python基于Faker假数据构造库
2020/11/30 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
网络工程师的自我评价
2013/10/02 职场文书
党员目标管理责任书
2014/07/25 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python