当前位置:Linux教程 - Php - 新闻发布系统 (例子) 一 news

新闻发布系统 (例子) 一 news

<?
/*
  News Donkey v1.0                      d8b   db d88888b db   d8b   db .d8888.
  by Oscar Rylin [[email protected]]       888o  88 88'     88   I8I   88 88'  YP
                                        88V8o 88 88ooooo 88   I8I   88 `8bo.   
                                        88 V8o88 88~~~~~ Y8   I8I   88   `Y8b.
                                        88  V888 88.     `8b d8'8b d8' db   8D
                                        VP   V8P Y88888P  `8b8' `8d8'  `8888Y'
                                                                               
                                                                               
                            d8888b.  .d88b.  d8b   db db   dD d88888b db    db
                            88  `8D .8P  Y8. 888o  88 88 ,8P' 88'     `8b  d8'
                            88   88 88    88 88V8o 88 88,8P   88ooooo  `8bd8'  
                            88   88 88    88 88 V8o88 88`8b   88~~~~~    88    
                            88  .8D `8b  d8' 88  V888 88 `88. 88.        88    
                            Y8888D'  `Y88P'  VP   V8P YP   YD Y88888P    YP    

  This script was made by Oscar Rylin ([email protected]) while learning PHP w/
  MySQL connections.

  What the script Does:
   * Provides an easy way to Read news from a MySQL database
   * Prints it out in a nice HTML format which is customizable
   * Provides a secure interface (user/password validation through a MySQL db)
   * Updating news, deleting and adding users and lots of other stuff
*/

include "dbconn.php"; // This is http://zend.com/codex.php?id=35&single=1
include "settings.php"; // The settings file
?>

<html>
<head>
  <title>newsM0nger1.0</title>
  <style type="text/css">
   .section { font-weight: bold; font-size:10pt; }
   .newsTxt { font-weight: normal; font-size:10pt; color: #ffffff; font-family: verdana; }
   a        { font-weight: bold; font-size:10pt; color: #ffffff; font-family: verdana; }
   a.normal { font-weight: bold; font-size:10pt; color: #000000; font-family: verdana; }
  </style>
</head>
<body bgcolor="white">
  <? print $header; ?>
  <center>
   <table border="1" cellpadding="0" cellspacing="0" bordercolor="black">

<?

$db = mysql_connect($dbHost, $dbUser, $dbPass);
  mysql_select_db($dbName,$db);
  $result = mysql_query("select count(id) as Total from news",$db);
  $row = mysql_fetch_array($result);
mysql_close($db);

if ($row[Total] > 5) {
  $pCount = 0;
  print "<b>Archive</b> ?";
  print "<a href=\"$PHP_SELF?start=0\" class=\"normal\">Main</a> ";
  while ($pCount < ($row[Total]/5)-1) {
   ++$pCount;
   print "<a href=\"$PHP_SELF?start=". ($pCount*5) ."\" class=\"normal\">$pCount</a> ";
  }
}

$tmpDL = 0;

$sql = new CDBMySQL($dbHost, $dbUser, $dbPass, $dbName);
  if ($start) {
   $sql -> Query ("SELECT * FROM news WHERE id < ". ($row[Total] - $start) . " ORDER BY id DESC");
  } else {
  $sql -> Query ("SELECT * FROM news ORDER BY id DESC");
  }
  
  while (($sql -> ReadRow()) && ($tmpDL < $newsDL))  {
   
   $id = ($sql -> RowData["id"]);
   $date = ($sql -> RowData["date"]);
   $poster = ($sql -> RowData["user"]);
   $header = ($sql -> RowData["header"]);
   $news = ($sql -> RowData["news"]);
   $news = nl2br($news);

   $uDB = new CDBMySQL($dbHost, $dbUser, $dbPass, $dbName);
   $uDB -> Query ("SELECT * FROM users where user=\"$poster\"");
  
   while ($uDB -> ReadRow())  {
    $email = ($uDB -> RowData["email"]);
   }
   $uDB -> Close();
   
   $format = "

<tr>
<td width=\"579\" height=\"20\" background=\"section.gif\" class=\"section\" colspan=\"2\">
   <font color=\"white\">$date</font>       -        <font color=\"#003366\">$header</font>
</td>
</tr>

<tr>
<td bgcolor=\"#666688\" class=\"newsTxt\" colspan=\"2\">
  $news
  <br>
  -- <a href=\"mailto:$email\">$poster</a>
</td>
</tr>

<tr>
<td bgcolor=\"#ffffff\" height=\"20\" colspan=\"2\">
</td>
</tr>
";
   print "$format";
   ++$tmpDL;
  }
//$sql -> Close();
?>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" width="579">
     <tr><td width="50%" align="left"><img src="php.gif"></td><td width="50%" align="right"><img src="mysql.gif"></td></tr>
   </table>
  </center>
  <? pr