四 文章类 封装对文章的各种操作(插入数据库、从数据库取出等等)
Jun 21, 2016 am 09:11 AM插入|封装|数据|数据库
//
// +----------------------------------------------------------------------+
// | 文章类 |
// +----------------------------------------------------------------------+
// | Copyright (c) 2001 NetFish Software |
// | |
// | Author: whxbb(whxbb@21cn.com) |
// +----------------------------------------------------------------------+
//
// $Id: whxbb_article.class.php,v 0.1 2001/8/11 22:18:13 yf Exp $
//
// 禁止直接访问该页面
if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "whxbb_article.class.php") {
header("HTTP/1.0 404 Not Found");
}
/**
* 文章类
* Purpose
* 封装对文章的各类操作
*
*
* @author : whxbb(whxbb@21cn.com)
* @version : 0.1
* @date : 2001/8/1
*/
class WHXBB_Article extends WHXBB
{
/** 分页对象 */
var $pager;
function Article()
{
$this->WHXBB();
}
/**
* 文章写入数据库
* @param $title 文章标题
* @param $author 文章作者
* @param $content 文章内容
* @return 操作出错:一个WHXBB_Error对象 成功:true
* @access public
*/
function Insert($title, $author, $content)
{
new WHXBB_Debug("Insert() Start");
// 处理传入的参数
WHXBB::OperateString(&$title, 'in');
WHXBB::OperateString(&$author, 'in');
WHXBB::OperateString(&$content, 'in');
$sql = "insert into article(title,author,content) values('$title','$author','$content')";
if( !@mysql_query($sql, $this->_conn) )
{
return new WHXBB_Error("Insert() Failed.($sql)", 1021);
}
new WHXBB_Debug("Insert() Completed");
return true;
}
/**
* 删除指定的记录
* @param $id 要删除记录的id
* @return 操作出错:一个WHXBB_Error对象 成功:true
* @access public
*/
function Del($id)
{
new WHXBB_Debug("Del($id) Start");
$sql = "delete from article where id=$id)";
if( !@mysql_query($sql, $this->_conn) )
{
return new WHXBB_Error("Del() Failed.($sql)", 1024);
}
new WHXBB_Debug("Dle($id) Completed");
return true;
}
/**
* 得到文章的总数
* @param $condition 查询条件
* @return 操作出错:一个WHXBB_Error对象 成功:true
* @access public
*/
function GetCount($condition = '')
{
new WHXBB_Debug("GetCount() Start");
$sql = "select count(id) from article where 1=1 $condition";
if( !$result = @mysql_query($sql, $this->_conn))
{
return new WHXBB_Error("GetCount() Failed.($sql)", 1000);
}
list($count) = @mysql_fetch_array($result);
@mysql_free_result($result);
new WHXBB_Debug("GetCount() Completed");
return $count;
}
/**
* 得到某一篇文章的所有字段信息
* @param $id 文章id号
* @return 操作出错:一个WHXBB_Error对象 成功:返回一个关联数组 找不到信息:返回0
* @access public
*/
function GetInfo($id )
{
new WHXBB_Debug("GetInfo($id) Start");
$sql = "select id, title, content, author from article where id=$id";
$result = @mysql_query($sql, $this->_conn);
if( !$result)
return new WHXBB_Error("GetInfo($id) Failed.($sql)", 1002);
if(@mysql_num_rows($result) == 0)
return 0;
$info = @mysql_fetch_array($result);
while (list($var, $key) = each($info))
{
WHXBB::OperateString(&$info[$var], 'out');
}
reset($info);
@mysql_free_result($result);
new WHXBB_Debug("GetInfo($id) Completed");
return $info;
}
/**
* 得到所有author为指定作者名的所有记录
* @param $items 每页显示条数,如果为0则表示取出所有记录
* @param page 当前页码
* @param author 作者名
* @param $orderBy 排序方式
* @return 操作出错:一个WHXBB_Error对象 成功:返回一个数组 找不到信息:返回0
* @access public
*/
function GetNInfoByAuthor($items, $page, $author, $orderBy = 'order by id desc')
{
WHXBB::OperateString(&$author, 'in');
$condition = " and author='$author' ";
$result = $this->GetNInfo($items, $page, $condition, $orderBy);
return $result;
}
}
/**
* 列出所有记录
* @param $items 每页显示条数,如果为0则表示取出所有记录
* @param $page 当前页码
* @param $condition 查询条件
* @param $orderBy 排序方式
* @return 操作出错:一个WHXBB_Error对象 成功:返回一个二维数组 找不到信息:返回0
* @access public
*/
function GetNInfo($items, $page, $condition = '', $orderBy = 'order by id desc')
{
new WHXBB_Debug("GetNInfo() Start");
$limit = '';
//取记录总数
$infoCount = $this->GetCount($condition);
if ($infoCount == 0)
return 0;
if ($items != 0)
{
// 新建一个分页器
$this->pager = new Pager($infoCount, $items, $page);
$startPos = $this->pager->startPos;
$limit = " limit ".$startPos.", ".$items;
}
$sql = "select id, title, author from article where 1=1 $condition $orderBy $limit";
$result = @mysql_query($sql, $this->_conn);
if( !$result )
return new WHXBB_Error("GetNInfo() Failed.($sql)", 1001);
if(@mysql_num_rows($result) == 0)
return 0;
$i = 0;
while ($arr = @mysql_fetch_array($result))
{
while(list($var, $key) = each($arr))
{
WHXBB::OperateString(&$arr[$var], 'out');
}
reset($arr);
$info[$i] = $arr;
$i++;
}
@mysql_free_result($result);
new WHXBB_Debug("GetNInfo() Completed");
return $info;
}
}
?>

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Solution : Votre organisation vous demande de modifier votre code PIN

Comment ajuster les paramètres de bordure de fenêtre sous Windows 11 : modifier la couleur et la taille

Comment changer la couleur de la barre de titre sous Windows 11 ?

Comment activer ou désactiver les aperçus miniatures de la barre des tâches sur Windows 11

Problèmes d'erreur OOBELANGUAGE dans la réparation de Windows 11/10

Afficher le guide de mise à l'échelle sur Windows 11

10 façons de régler la luminosité sous Windows 11

Comment désactiver l'authentification de navigation privée pour iPhone dans Safari ?
