PHP4 Session实现的迷你购物篮(五)

王朝php·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

填充篮子

$#@60;?php

$basket_position_counter=0; //篮子中的位置

$double=0; //双重入口标志设为NO

if ($ses_basket_items$#@62;0){

// 检查是否篮子包含的项目中有双重入口

foreach ($ses_basket_name as $basket_item){

// 遍历数组所包含的名字,检查是否与从href所传来的相配匹

if ($basket_item==$basket){

// 如果在篮子中已经有了一个项目,将flag设为1

$double=1;

// 记住项目的位置,将进行更新

$basket_position=$basket_position_counter;

}

$basket_position_counter++; //增加篮子中的实际位置

}

}

// 更新篮子

if ($double==1){

// 如果项目在你的篮子中已经存在则更新在$basket_position处理的数量和位置

$oldamount=$ses_basket_amount[$basket_position];

$ses_basket_amount[$basket_position]++;

$amount=$ses_basket_amount[$basket_position];

$oldprice=$ses_basket_price[$basket_position];

//更新价格

$newprice=($oldprice/$oldamount)*$amount;

$ses_basket_price[$basket_position]=$newprice;

}else{

// 如果它不在你的篮子中,则在数组末尾增加新的项目

$ses_basket_name[]=$basket;

$ses_basket_amount[]=1;

$ses_basket_price[]=$price;

$ses_basket_id[]=$id;

$ses_basket_items++;

}

?$#@62;

太好了,现在你可以填充迷你购物篮并显示它了。

将代码片断组织到一起

让我们将代码组织到一起并且存为minibasket.inc。

$#@60;?php

// 记住在代码片段1中, 决定是不是要增加?

// 让我们在这里重复它

if ($basket!=""){

// 在这里,项目将要加到篮中。让我们检查一下是否存在一个注册过的篮子

if (session_is_registered("ses_basket_items")){

// 存在一个注册过的篮子,将代码片段4放在这里。

// 它增加项目到注册过的篮子中,检查重复记录,更新它们或在数组的最后增加项目

} else {

// 不存在注册过的篮子,将代码片段3放在这里。它创建一个新的篮子,并且

||||||// 通过session注册它。

}

}

// 剩下的都是代码片段2。如果篮子中有物品时用于显示它们。

// 加到这里。

?$#@62;

瞧,不错吧。"cest tout", 法国人会这样说。如果 龊昧耍憧梢员4嬲飧鑫募猰inibasket.inc 并且将其包括到显示商品的PHP页面中。

Zip格式的minibasket.inc和basket.php

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航