基于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编写的导航条程序
Oct 09 PHP
利用PHP实现图片等比例放大和缩小的方法详解
Jun 06 PHP
PHP获取表单所有复选框的值的方法
Aug 28 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
thinkPHP模型初始化实例分析
Dec 03 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
PHP智能识别收货地址信息实例
Jan 05 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 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中使用XML
2006/10/09 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
Python选课系统开发程序
2016/09/02 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
图解Python变量与赋值
2018/04/03 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
Django密码系统实现过程详解
2019/07/19 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
HelloFresh澳大利亚:订购你的美味食品盒、健康餐食
2018/03/28 全球购物
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
J2EE相关知识面试题
2013/08/26 面试题
低碳生活的宣传标语
2014/06/23 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
学校德育工作总结2015
2015/05/11 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
Python基础详解之描述符
2021/04/28 Python