基于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长字符串定义方法
Jul 12 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
PHP速成大法
Jan 30 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 PHP
PHP实现活动人选抽奖功能
Apr 19 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 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
几种显示数据的方法的比较
2006/10/09 PHP
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
js取得url地址参数实例
2013/02/22 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
让python json encode datetime类型
2010/12/28 Python
Python实现多线程抓取妹子图
2015/08/08 Python
python如何将图片转换为字符图片
2020/08/19 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
Django重设Admin密码过程解析
2020/02/10 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
客服主管岗位职责
2013/12/13 职场文书
《尊严》教学反思
2014/02/11 职场文书
优秀班主任材料
2014/12/16 职场文书
助学金感谢信
2015/01/20 职场文书
PO模式在selenium自动化测试框架的优势
2022/03/20 Python