**PHP面向对象的练习
封装简单的数据库操作类和购物车类,仅供参考学习**
db.class.php
<?php
class Database{
private $host = 'localhost';
private $user = 'root';
private $pw = '';
private $dbName = 'db_info';
protected $resData='';//连接资源
/**
* 构造函数,初始化数据库
*/
public function __construct(){
$this->resData = @mysql_connect($this->host,$this->$user,$this->pw) or die('连接数据库服务器失败!');
mysql_select_db($this->dbName);
mysql_query('set names utf8');
}
/**
* 操作数据库
* @param [string] $sql 数据库语句
* @return [bool or resource] 返回布尔或者资源
*/
public function query($sql){
if(!empty($sql)){
$query = mysql_query($sql);
if($query){
return $query;
}else{
return false;
}
}
else{
return false;
}
}
/**
* 提取字符集
* @param [type] $resData [description]
* @return [type] [description]
*/
public function fetchAll($resData){
if(is_resource($resData)){
$arrcon = array();
while($arr = mysql_fetch_assoc($resData)){
$arrcon[] = $arr;
}
unset($resData);
return $arrcon;
}else{
return false;
}
}
/**
* 关闭资源集
*/
public function __destruct(){
if(strtolower(get_resource_type($this->resData))=='mysql link'){
mysql_close($this->resData);
}
}
}
shopcar.class.php
<?php
class Shopcar{
public function addSession($arr){
if(is_array($arr)){
if(!empty($_SESSION['shopcar'])){
//检测是否有相同数据
if($this->checkItem($arr['id'])){
if($this->changeNum($arr['id'])){
return true;
}else{
return false;
}
}
else{
$_SESSION['shopcar'][] = $arr;
return true;
}
}else{
$_SESSION['shopcar'][] = $arr;
return true;
}
}else{
return false;
}
}
/**
* 检测是否存在相同的数据
*/
public function checkItem($id){
if(!empty($id)){
foreach ($_SESSION['shopcar'] as $value){
if($id = $value['id']){
return true;
}else{
return false;
}
}
}
}
/**
* 改变数量
*/
public function changeNum($id,$boolData=true){
if($boolData){//加数量
foreach($_SESSION['shopcar'] as $key=>$value){
if($id==$value['id']){
$_SESSION['shopcar'][$key]['num']+=1;
return true;
}
}
return false;
}else{//减数量
foreach($_SESSION['shopcar'] as $key=>$value){
if($id==$value['id']){
$_SESSION['shopcar'][$key]['num']-=1;
if($_SESSION['shopcar'][$key]['num']<1){
$this->deleteItem($id);
}
return true;
}
}
return false;
}
}
/**
* 删除购物车中的商品
*/
public function deleteItem($id){
foreach($_SESSION['shopcar'] as $key=>$value){
if($id==$value['id']){
unset($_SESSION['shopcar'][$key]);
return true;
}
}
return false;
}
}