You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
4.7 KiB

3 years ago
<?php
/**
* ECSHOP 后台自动操作数据库的类文件
* ============================================================================
* * 版权所有 2005-2016 上海商创网络科技有限公司,并保留所有权利。
* 网站地址: http://www.ecmoban.com;
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
* 使用;不允许对程序代码以任何形式任何目的的再发布。
* ============================================================================
* $Author: liubo $
* $Id: cls_exchange.php 17217 2011-01-19 06:29:08Z liubo $
*/
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
/*------------------------------------------------------ */
//-- 该类用于与数据库数据进行交换
/*------------------------------------------------------ */
class exchange
{
var $table;
var $db;
var $id;
var $name;
var $error_msg;
/**
* 构造函数
*
* @access public
* @param string $table 数据库表名
* @param dbobject $db aodb的对象
* @param string $id 数据表主键字段名
* @param string $name 数据表重要段名
*
* @return void
*/
function exchange($table, &$db , $id, $name)
{
$this->table = $table;
$this->db = &$db;
$this->id = $id;
$this->name = $name;
$this->error_msg = '';
}
/**
* 判断表中某字段是否重复,若重复则中止程序,并给出错误信息
*
* @access public
* @param string $col 字段名
* @param string $name 字段值
* @param integer $id
*
* @return void
*/ //ecmoban模板堂 --zhuo
function is_only($col, $name, $id = 0, $where='', $table = '', $idType = '')
{
if(empty($table)){
$table = $this->table;
}
if(empty($idType)){
$idType = $this->id;
}
$sql = 'SELECT COUNT(*) FROM ' .$table. " WHERE $col = '$name'";
$sql .= empty($id) ? '' : ' AND ' . $idType . " <> '$id'";
$sql .= empty($where) ? '' : ' AND ' .$where;
return ($this->db->getOne($sql) == 0);
}
/**
* 返回指定名称记录再数据表中记录个数
*
* @access public
* @param string $col 字段名
* @param string $name 字段内容
*
* @return int 记录个数
*/
function num($col, $name, $id = 0, $where = '')
{
$sql = 'SELECT COUNT(*) FROM ' .$this->table. " WHERE $col = '$name'";
$sql .= empty($id) ? '' : ' AND '. $this->id ." != '$id' ";
$sql .= empty($where) ? '' : ' AND '. $where;
return $this->db->getOne($sql);
}
/**
* 编辑某个字段
*
* @access public
* @param string $set 要更新集合如" col = '$name', value = '$value'"
* @param int $id 要更新的记录编号
*
* @return bool 成功或失败
*/ //ecmoban模板堂 --zhuo
function edit($set, $id, $table = '', $idType = '')
{
if(empty($table)){
$table = $this->table;
}else{
$table = $GLOBALS['ecs']->table($table);
}
if(empty($idType)){
$idType = $this->id;
}
$sql = 'UPDATE ' . $table . ' SET ' . $set . " WHERE " .$idType. " = '$id'";
if ($this->db->query($sql))
{
return true;
}
else
{
return false;
}
}
/**
* 取得某个字段的值
*
* @access public
* @param int $id 记录编号
* @param string $id 字段名
*
* @return string 取出的数据
*/
function get_name($id, $name = '')
{
if (empty($name))
{
$name = $this->name;
}
$sql = "SELECT `$name` FROM " . $this->table . " WHERE $this->id = '$id'";
return $this->db->getOne($sql);
}
/**
* 删除条记录
*
* @access public
* @param int $id 记录编号
*
* @return bool
*/
function drop($id, $table = '', $idType = '')
{
if(empty($table)){
$table = $this->table;
}else{
$table = $GLOBALS['ecs']->table($table);
}
if(empty($idType)){
$idType = $this->id;
}
$sql = 'DELETE FROM ' . $table . " WHERE " .$idType. " = '$id'";
return $this->db->query($sql);
}
}
3 years ago
?>