当前位置:首页 > PHP教程 > php类库 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-28 21:47:14 浏览: 评论:0 

这篇文章主要介绍了基于php的CMS中展示文章类,涉及针对文章的各种常用设置与操作技巧,需要的朋友可以参考下,本文实例讲述了基于php的CMS中展示文章类,分享给大家供大家参考,具体分析如下:

  1. <?php 
  2. /*********************************************** 
  3. //实例: 
  4. include("config.inc.php"); //数据库连接文件 
  5. $info = new sys_function; 
  6. $test = new show_article; 
  7. $test->set_sql("SELECT `id`,`title`,`dateandtime`,`thetype` FROM `df_company_bringup` ORDER BY `dateandtime` DESC"); 
  8. $test->set_filename("display"); 
  9. $test->set_morename("morearticle"); 
  10. $test->set_icon(" ☆ "); 
  11. $test->set_omitstr("..."); 
  12. $test->show_company_bringup(); 
  13. ***********************************************/ 
  14. /****Article List Class****/ 
  15. class show_article 
  16.  /****声明****/ 
  17.  var $sql,$query,$arr,$article_list
  18.   var $strlen,$articleline,$dateandtime
  19.   var $len,$line,$icon,$omitstr,$line_height,$more_name
  20.   var $year,$month,$day,$datetype
  21.   var $showmore,$showdate,$showomit,$showclueon,$showicon
  22.  /****构造函数****/ 
  23.  function show_article() 
  24.   { 
  25.   $this->set_strlen(40); //设置每行显示字数; 
  26.   $this->set_articleline(10); //设置Article显示行数; 
  27.   $this->set_showmore(false); //是否显示"更多Article"; 
  28.   $this->set_showdate(true); //是否显示Article发布日期; 
  29.   $this->set_showomit(true); //字数超过指定字符后是否显示所设置的字符,如"..."; 
  30.   $this->set_showclueon(true); //是否显示Article提示(鼠标移动到Article标题上面显示的提示); 
  31.   $this->set_open(true); //是否在新窗口打开; 
  32.   $this->set_showicon(true); //是否显示Article修改前缀; 
  33.   $this->set_lineheight(1.5); //段落行高值; 
  34.   $this->set_datetype(1); //设置日期格式,1为2004-10-21 2为2004年10月21日; 
  35.  } 
  36.  /****设置每行显示字数****/ 
  37.  function set_strlen($strlen
  38.   { 
  39.   $this->len = $strlen
  40.   } 
  41.  /****设置Article显示行数****/ 
  42.  function set_articleline($articleline
  43.   { 
  44.   $this->line = $articleline
  45.   } 
  46.  /****设置查询语句****/ 
  47.  function set_sql($sql
  48.   { 
  49.   $this->sql = $sql
  50.   } 
  51.  /****设置Article标题前缀修饰****/ 
  52.  function set_icon($icon
  53.   { 
  54.   $this->icon = $icon
  55.   } 
  56.  /****是否显示Article标题前缀修饰****/ 
  57.  function set_showicon($showicon
  58.   { 
  59.   $this->showicon = $showicon
  60.   } 
  61.  /****是否打开新窗口****/ 
  62.  function set_open($open
  63.   { 
  64.   $this->open = $open
  65.   } 
  66.  /****设置Article标题长度超过限制后显示的字符****/ 
  67.  function set_omitstr($omitstr
  68.   { 
  69.   $this->omitstr = $omitstr
  70.   } 
  71.  /****设置打开Article的文件名****/ 
  72.  function set_filename($filename
  73.   { 
  74.   $this->filename = $filename
  75.   } 
  76.  /****更多Article页面名称****/ 
  77.  function set_morename($more_name
  78.   { 
  79.   $this->more_name = $more_name
  80.   } 
  81.  /****Article分类名称****/ 
  82.  function set_typename($type_name
  83.   { 
  84.   $this->type_name = $type_name
  85.   } 
  86.  /****是否显示更多Article****/ 
  87.  function set_showmore($showmore
  88.   { 
  89.   $this->showmore = $showmore
  90.   } 
  91.  /****设置日期格式(1:2004-10-21 2:2004年10月21日)****/ 
  92.  function set_datetype($datetype
  93.   { 
  94.   $this->datetype = $datetype
  95.   } 
  96.  /****格式化日期****/ 
  97.  function formatdate($dateandtime,$num
  98.   { 
  99.   list($year,$month,$day) = split("[-]",substr($dateandtime,0,10)); 
  100.   if($num == 1){ 
  101.    return $year."-".$month."-".$day
  102.   }else
  103.    return $year."年".$month."月".$day."日"
  104.   } 
  105.   } 
  106.  /****是否显示Article发布日期****/ 
  107.  function set_showdate($showdate
  108.   { 
  109.   $this->showdate = $showdate
  110.   } 
  111.  /****段落行高值****/ 
  112.  function set_lineheight($line_height
  113.   { 
  114.   $this->line_height = $line_height
  115.   } 
  116.  /****是否显示Article标题长度超过限制后显示的字符****/ 
  117.  function set_showomit($showomit
  118.   { 
  119.   $this->showomit = $showomit
  120.   } 
  121.  /****是否显示鼠标移动到Article上后显示的提示****/ 
  122.  function set_showclueon($showclueon
  123.   { 
  124.   $this->showclueon = $showclueon
  125.   } 
  126.  /****从结果集中取得一行作为枚举数组****/ 
  127.  function execute_row($query
  128.   { 
  129.   return $this->arr = mysql_fetch_row($query); 
  130.   } 
  131.  /****从结果集中取得一行作为关联数组,或数字数组,或二者兼有****/ 
  132.  function execute_array($query
  133.   { 
  134.   return $this->arr = mysql_fetch_array($query); 
  135.   } 
  136.  /****将释放所有与结果标识符 result 所关联的内存****/ 
  137.  function free_record($query
  138.   { 
  139.   @mysql_free_result($query); 
  140.   } 
  141.  /****调用指定Article List****/ 
  142.  function show_company_bringup() 
  143.   { 
  144.   $n = 1; 
  145.   $article_list = "<div id='article_list".$n."' style='line-height:".$this->line_height."'>"
  146.   $this->query = mysql_query($this->sql); 
  147.   while($this->execute_row($this->query)) 
  148.   { 
  149.    if($this->showicon){$article_list .= $this->icon;} 
  150.   $article_list .= "<a href='".$this->filename.".php?id=".$this->arr[0]."'"
  151.    if($this->showclueon){$article_list .= " title='".$this->arr[1]."' ";} 
  152.    if($this->open){$article_list .= " target='_blank' ";} 
  153.   $article_list .= ">"
  154.    if(strlen($this->arr[1]) > $this->len) 
  155.    { 
  156.    if($this->showomit){ 
  157.    $article_list .= substr($this->arr[1],0,$this->len).$this->omitstr; 
  158.    }else
  159.    $article_list .= substr($this->arr[1],0,$this->len); 
  160.    } 
  161.    }else
  162.    $article_list .= $this->arr[1]; 
  163.    } 
  164.    if($this->showdate){$article_list .= "[".$this->formatdate($this->arr[2],$this->datetype)."]";} 
  165.   $article_list .= "</a><br>\n"
  166.    if($n == $this->line){break;} 
  167.   $n++; 
  168.   } 
  169.   if($this->showmore){ 
  170.   $article_list .= "</div><div id='article_list_more".$n."' align='right'><a href='".$this->more_name.".php?type=".$this->type_name."'>>> >更多</a></div>"
  171.   }else
  172.   $article_list .= "</div>"
  173.   } 
  174.   $this->free_record($this->query); 
  175.   print $article_list
  176.   } 
  177. ?>

Tags: php文章类 CMS

分享到: