php 基类 是什么,PHP Model基类

Model.class.php:

db = new Mysql($dbconfig);

$this->table = $GLOBALS['config']['prefix'] . $table;

//调用getFields字段

$this->getFields();

}

/**

* 获取表字段列表

*

*/

private function getFields(){

$sql = "DESC ". $this->table;

$result = $this->db->getAll($sql);

foreach ($result as $v) {

$this->fields[] = $v['Field'];

if ($v['Key'] == 'PRI') {

//如果存在主键的话,则将其保存到变量$pk中

$pk = $v['Field'];

}

}

//如果存在主键,则将其加入到字段列表fields中

if (isset($pk)) {

$this->fields['pk'] = $pk;

}

}

/**

* 自动插入记录

* @access public

* @param $list array 关联数组

* @return mixed 成功返回插入的id,失败则返回false

*/

public function insert($list){

$field_list = ''; //字段列表字符串

$value_list = ''; //值列表字符串

foreach ($list as $k => $v) {

if (in_array($k, $this->fields)) {

$field_list .= "`".$k."`" . ',';

$value_list .= "'".$v."'" . ',';

}

}

//去除右边的逗号

$field_list = rtrim($field_list,',');

$value_list = rtrim($value_list,',');

//构造sql语句

$sql = "INSERT INTO `{$this->table}` ({$field_list}) VALUES ($value_list)";

if ($this->db->query($sql)) {

# 插入成功,返回最后插入的记录id

return $this->db->getInsertId();

//return true;

} else {

# 插入失败,返回false

return false;

}

}

/**

* 自动更新记录

* @access public

* @param $list array 需要更新的关联数组

* @return mixed 成功返回受影响的记录行数,失败返回false

*/

public function update($list){

$uplist = ''; //更新列表字符串

$where = 0; //更新条件,默认为0

foreach ($list as $k => $v) {

if (in_array($k, $this->fields)) {

if ($k == $this->fields['pk']) {

# 是主键列,构造条件

$where = "`$k`=$v";

} else {

# 非主键列,构造更新列表

$uplist .= "`$k`='$v'".",";

}

}

}

//去除uplist右边的

$uplist = rtrim($uplist,',');

//构造sql语句

$sql = "UPDATE `{$this->table}` SET {$uplist} WHERE {$where}";

if ($this->db->query($sql)) {

# 成功,并判断受影响的记录数

if ($rows = mysql_affected_rows()) {

# 有受影响的记录数

return $rows;

} else {

# 没有受影响的记录数,没有更新操作

return false;

}

} else {

# 失败,返回false

return false;

}

}

/**

* 自动删除

* @access public

* @param $pk mixed 可以为一个整型,也可以为数组

* @return mixed 成功返回删除的记录数,失败则返回false

*/

public function delete($pk){

$where = 0; //条件字符串

//判断$pk是数组还是单值,然后构造相应的条件

if (is_array($pk)) {

# 数组

$where = "`{$this->fields['pk']}` in (".implode(',', $pk).")";

} else {

# 单值

$where = "`{$this->fields['pk']}`=$pk";

}

//构造sql语句

$sql = "DELETE FROM `{$this->table}` WHERE $where";

if ($this->db->query($sql)) {

# 成功,并判断受影响的记录数

if ($rows = mysql_affected_rows()) {

# 有受影响的记录

return $rows;

} else {

# 没有受影响的记录

return false;

}

} else {

# 失败返回false

return false;

}

}

/**

* 通过主键获取信息

* @param $pk int 主键值

* @return array 单条记录

*/

public function selectByPk($pk){

$sql = "select * from `{$this->table}` where `{$this->fields['pk']}`=$pk";

return $this->db->getRow($sql);

}

/**

* 获取总的记录数

* @param string $where 查询条件,如"id=1"

* @return number 返回查询的记录数

*/

public function total($where){

if(empty($where)){

$sql = "select count(*) from {$this->table}";

}else{

$sql = "select count(*) from {$this->table} where $where";

}

return $this->db->getOne($sql);

}

/**

* 分页获取信息

* @param $offset int 偏移量

* @param $limit int 每次取记录的条数

* @param $where string where条件,默认为空

*/

public function pageRows($offset, $limit,$where = ''){

if (empty($where)){

$sql = "select * from {$this->table} limit $offset, $limit";

} else {

$sql = "select * from {$this->table} where $where limit $offset, $limit";

}

return $this->db->getAll($sql);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值