您当前的位置: 站长圈 > 网页设计

阿Q老师PHP框架系列讲座之三__查询数据

来源:站长圈|0 作者:adminzzq 点击: 0
一、新建一个配置类文件conf.class.php

/**
 * User: wwwquan.com <aq986@126.com>
 * Date: 12-11-25
 * Time: 下午9:27
 */
 //创建一个配置文件类
class conf
{
    public $conf = array();  //定义一个空数组$conf
 //创建一个构造函数
    public function __construct(){
        $this->conf = require './database.inc.php'; //给类中成员变量赋值
    }
 // __get()php中的魔术方法,规定以两个下划线(__)开头的方法都保留为魔术方法
 ////使用__get()方法,可取得类中封装过的、未定义过的、不能被外部调用的对象的属性
    public function __get($key)
    {
       return $this->conf->$key; 
    }
}
//创建一个conf类的实例
$conf = new conf();
echo '
';

//echo $conf->b;

print_r($conf); //打印数组

?>



二、新建一个定义常量的文件init.php

/**
 * User: wwwquan.com <aq986@126.com>
 * Date: 12-11-25
 * Time: 下午9:14
 */

//初始化文件
//定义是否包含init.php文件
define('IN_CMS',true);

//定义路径常量:
//定义网站根目录:
define('SEP',DIRECTORY_SEPARATOR);  //DIRECTORY_SEPARATOR 匹配斜杠
$root = dirname(dirname(__FILE__)).SEP; //__FILE__当前文件的路径,dirname()返回

路径中的目录部分
define('ROOT',$root);  //网站的目录
//定义includes文件夹的路径
define('INS_PATH',ROOT.'includes'.SEP);
//定义站点目录,URL地址
define('SITE_URL','http://127.0.0.1/test/');
//定义dwz路径
define('DWZ',SITE_URL.'statics/dwz/');

//缓存文件的路径。

//包含必须的文件
require INS_PATH.'conf.class.php';
require INS_PATH.'function/global.func.php';
//包含安全处理文件。
//包含公共函数。

?>

三、在mysql类里创建一个查询数据的方法
 

    /**
     * 读数据库
     * @param 表名
     * @param 要查询的字段,可以是字符串,也可以数组。
     * @param 查询的条件,字符串。
     * @param 查询的记录数,字符串。
     * @return
     */
  //创建一个查询数据库的共有方法 select(),所列参数分别为表名、字段名、条件、条数
    public function select($table,$fields='*',$where='',$limit=''){
  //判断$fields是否是数组
        if(is_array($fields)){
   //将数组$fields中的键值用逗号连续成字符串,并赋给$fields
            $fields = implode(',',array_values($fields));
        }
  //判断参数$where的值不为空
        if(!empty($where)){
            $where = ' where '.$where;
        }
  //判断参数$limit的值不为空
        if(!empty($limit)){
            $limit = ' limit '.$limit;
        }
  //创建查询的sql语句
       $sql = "select {$fields} from {$table} {$where} {$limit}" ;
    //调用本类中的query()方法执行sql语句
        $r = $this->query($sql);
  //调用本类中的fetch()方法,返回查询结果集
        return $this->fetch($r);
    }

    /**
     *
     */
 //自定义fetch()方法
    public function fetch($r){
        $arr = array();
  //逐条获取数据库中的记录,并赋给$arr[]
        while($row = mysql_fetch_assoc($r)){
            $arr[] = $row;
        }
  //返回数组
        return $arr;
    }
 
 //mysql_fetch_assoc 从结果集中取得一行作为关联数组

四、测试查询数据的方法
//静态方法可以不实例化,用“::”直接调用。
$myy=mysql::getinstance();
$table="test_admin";
$arr=$myy->select($table,'*');
print_r($arr);