基于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 相关文章推荐
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
php处理json时中文问题的解决方法
Apr 12 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
PHP关联链接常用代码
Nov 05 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP时间处理类操作示例
Sep 05 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
在PHP的图形函数中显示汉字
2006/10/09 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
一个网马的tips实现分析
2010/11/28 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
Python3.6 Schedule模块定时任务(实例讲解)
2017/11/09 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
python 拼接文件路径的方法
2018/10/23 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
python基于openpyxl生成excel文件
2020/12/23 Python
比较基础的php面试题及答案-填空题
2014/04/26 面试题
武汉某公司的C#笔试题面试题
2015/12/25 面试题
2014年高中班主任工作总结
2014/11/08 职场文书
高一军训口号
2015/12/25 职场文书
MySQL分区以及建索引的方法总结
2022/04/13 MySQL