仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1080|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之四 文章类 封装对文章的各类操作(拔出...

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
多去关于PHP的网站,尤其有很多经典的文章,多读读这些文章显然是有好处的。拔出|封装|数据|数据库   <?php
//
// +----------------------------------------------------------------------+
// | 文章类                                                               |
// +----------------------------------------------------------------------+
// | 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;
    }
}
?>  小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。
精灵巫婆 该用户已被删除
沙发
发表于 2015-2-4 12:50:27 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
小魔女 该用户已被删除
板凳
发表于 2015-2-4 12:50:27 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
只想知道 该用户已被删除
地板
发表于 2015-2-9 22:40:50 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
分手快乐 该用户已被删除
5#
发表于 2015-2-15 22:34:13 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
金色的骷髅 该用户已被删除
6#
发表于 2015-3-4 15:40:38 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
乐观 该用户已被删除
7#
发表于 2015-3-6 18:06:54 | 只看该作者
做为1门年轻的语言,php一直很努力。
不帅 该用户已被删除
8#
发表于 2015-3-13 05:01:28 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
活着的死人 该用户已被删除
9#
发表于 2015-3-19 17:52:27 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
谁可相欹 该用户已被删除
10#
发表于 2015-3-20 08:31:49 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
莫相离 该用户已被删除
11#
发表于 2015-3-27 06:07:27 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
12#
发表于 2015-4-1 12:08:57 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
第二个灵魂 该用户已被删除
13#
发表于 2015-4-7 17:01:26 | 只看该作者
当然这种网站的会员费就几十块钱。
再现理想 该用户已被删除
14#
发表于 2015-4-21 21:19:04 | 只看该作者
实践是检验自己会不会的真理。
老尸 该用户已被删除
15#
发表于 2015-5-4 13:59:45 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
蒙在股里 该用户已被删除
16#
发表于 2015-6-18 21:46:42 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
透明 该用户已被删除
17#
 楼主| 发表于 2015-7-7 06:13:48 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
山那边是海 该用户已被删除
18#
发表于 2015-7-9 20:49:41 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
简单生活 该用户已被删除
19#
发表于 2015-7-9 22:58:45 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
若天明 该用户已被删除
20#
发表于 2015-7-13 22:56:57 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 13:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表