看看这段代码回出现什么问题,如何优化,谢谢大家,来者有分

Alisa 2006-08-22 04:07:44
<?php
class cartstore{
var $ownerid;
function cartstore($ownerid){
$this->ownerid = $ownerid;
}
function add($extendobj){
$a = new avatar_cart_store();
$a->set('componentid', $extendobj->componentid);
$a->set('ownerid', $this->ownerid);
$a->set('flag', $extendobj->isinuse);
$n = $a->selectby();
if (count($n) > 0){
$n[0]->set('count', $n[0]->get('count') + 1);
return $n[0]->update();
}else{
$a->set('count', 1);
return $a->insert();
}
}
function del($id){
$a = new avatar_cart_store();
$a->set('id', $id);
return $a->delete();
}
function emptycartstore($ownerid, $typeid){
$a = new avatar_cart_store();
$a->set('typeid', $typeid);
$a->set('ownerid', $ownerid);
$a->deleteby();
}
function changetype($ownerid, $otypeid, $ntypeid){
$a = new avatar_cart_store();
$a->set('ownerid', $ownerid);
$a->set('typeid', $otypeid);
$n = $a->selectby();
if (count($n) == 0){
return false;
}else{
foreach ($n as $row){
$temp = new avatar_cart_store();
$temp->set('ownerid', $ownerid);
$temp->set('componentid', $row->get('componentid'));
$temp->set('typeid', $ntypeid);
$k = $temp->selectby();
if (count($k) > 0){
$k[0]->set('count', $k[0]->get('count') + $row->get('count'));
$k[0]->update();
$row->delete();
}else{
$row->set('typeid', $ntypeid);
$row->update();
}
}
}
}
function getall($ownerid, $typeid){
$a = new avatar_cart_store();
$a->set('ownerid', $ownerid);
$a->set('typeid', $typeid);
$array = $a->selectby();
$ra = array();
foreach ($array as $row){
$c = new cbme_component();
$c->set('id', $row->get('componentid'));
$c = $c->select();
$o = new extendobj();
$o->id = $row->get('id');
$o->componentid = $row->get('componenetid');
$o->count = $row->get('count');
$o->name = $c->get('name');
$o->sexid = $c->get('sexid');
$o->price1 = $c->get('price1');
$o->price2 = $c->get('price2');
$o->jpglocation = $c->get('jpglocation');
$ra[] = $o;
}
return $ra;
}
}
?>
...全文
411 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alisa 2006-09-06
  • 打赏
  • 举报
回复
感谢SysTem128、aminconi和各位的关注。
再问aminconi:多个client同时访问的时候该如何处理呢,是在数据库方面处理还是在程序这边处理。谢谢
hzg7361 2006-09-04
  • 打赏
  • 举报
回复
晕,下次写代码加点注释.
PHP_CHRIS_BT1984 2006-08-31
  • 打赏
  • 举报
回复
变量名最好不要a,c,o...其他挺好的
Alisa 2006-08-31
  • 打赏
  • 举报
回复
我在顶.....
anshenghao 2006-08-31
  • 打赏
  • 举报
回复
确实有点长~~~但是帮顶 JF
aminconi 2006-08-31
  • 打赏
  • 举报
回复
1.$a = new avatar_cart_store();可能会报错,需要include_once包含avatar_cart_store的这个class
2.$a可以作为全局变量,每次都new,太浪费
3.需要给全局变量$ownerid设置互斥量,并且建立$a和$ownerid之间的关联,多个Client同时访问这个class的时候,会变更这些值
kenesyu 2006-08-31
  • 打赏
  • 举报
回复
看不懂帮顶
caotian2000 2006-08-31
  • 打赏
  • 举报
回复
jf
idealabc 2006-08-24
  • 打赏
  • 举报
回复
caotian2000 2006-08-24
  • 打赏
  • 举报
回复
太长了,真不喜欢看
saga104 2006-08-24
  • 打赏
  • 举报
回复
sfsa
Alisa 2006-08-24
  • 打赏
  • 举报
回复
顶.....
SysTem128 2006-08-23
  • 打赏
  • 举报
回复
除了命名有待规范以外~~其他的没什么……
为什么要改这个?
xwsn 2006-08-23
  • 打赏
  • 举报
回复
有请接分
Alisa 2006-08-22
  • 打赏
  • 举报
回复
不是的,想找高手帮忙看看
wen8u8 2006-08-22
  • 打赏
  • 举报
回复
这个购物类自己写的吗?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧