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.

148 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
/**
* shop 后台自动操作数据库的类文件
* ============================================================================
* * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。
* 网站地址: http://www.shop.com
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
* 使用;不允许对程序代码以任何形式任何目的的再发布。
* ============================================================================
* $Author: wayne $
* $Id: cls_exchange.php 17217 2011-01-19 06:29:08Z wayne $
*/
if (!defined('IN_ASC'))
{
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 __construct($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
*/
function is_only($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) == 0);
}
/**
* 返回指定名称记录再数据表中记录个数
*
* @access public
* @param string $col 字段名
* @param string $name 字段内容
*
* @return int 记录个数
*/
function num($col, $name, $id = 0)
{
$sql = 'SELECT COUNT(*) FROM ' .$this->table. " WHERE $col = '$name'";
$sql .= empty($id) ? '' : ' AND '. $this->id ." != '$id' ";
return $this->db->getOne($sql);
}
/**
* 编辑某个字段
*
* @access public
* @param string $set 要更新集合如" col = '$name', value = '$value'"
* @param int $id 要更新的记录编号
*
* @return bool 成功或失败
*/
function edit($set, $id)
{
$sql = 'UPDATE ' . $this->table . ' SET ' . $set . " WHERE $this->id = '$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)
{
$sql = 'DELETE FROM ' . $this->table . " WHERE $this->id = '$id'";
return $this->db->query($sql);
}
}
?>