快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

仅用PHP4 Session实现的迷你购物篮(二)

片段3。创建新的篮子并向其中增加一条项目

<?php

// 将项目计数设为1
$ses_basket_items=1;

// 填充4个数组的第0个位置,使用从href链接传过来的值
// 链接是在‘给你的页面增加链接’部分所讲的
$ses_basket_name[0]=$basket;
$ses_basket_amount[0]=1;
$ses_basket_price[0]=$price;
$ses_basket_id[0]=$id;

// 在session中注册新的篮子
session_register("ses_basket_items");
session_register("ses_basket_name");
session_register("ses_basket_amount");
session_register("ses_basket_price");
session_register("ses_basket_id");

?>

  这样将创建一个篮子,将所以的值填在数组第0个位置上,并利用session注册数组。一个篮子诞生了。


片段4。填充篮子

<?php

$basket_position_counter=0; //篮子中的位置
$double=0; //双重入口标志设为NO
if ($ses_basket_items>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++;
}

?>

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

将代码片断组织到一起

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

<?php

// 记住在代码片段1中, 决定是不是要增加?
// 让我们在这里重复它
if ($basket!=""){
// 在这里,项目将要加到篮中。让我们检查一下是否存在一个注册过的篮子
if (session_is_registered("ses_basket_items")){
// 存在一个注册过的篮子,将代码片段4放在这里。
// 它增加项目到注册过的篮子中,检查重复记录,更新它们或在数组的最后增加项目
} else {
// 不存在注册过的篮子,将代码片段3放在这里。它创建一个新的篮子,并且
// 通过session注册它。
}
}
// 剩下的都是代码片段2。假如篮子中有物品时用于显示它们。
// 加到这里。

?>

  瞧,不错吧。"c\\\'est tout", 法国人会这样说。假如都做好了,你可以保存这个文件为minibasket.inc
并且将其包括到显示商品的PHP页面中。

Zip格式的minibasket.inc和basket.php




返回类别: 教程
上一教程: 搜索引擎技术核心揭密(PHP)
下一教程: php&java(二)

您可以阅读与"仅用PHP4 Session实现的迷你购物篮(二)"相关的教程:
· 仅用PHP4 Session实现的迷你购物篮(一)
· 一个用session实现微型购物篮的例子
· 在PHP3中实现SESSION的功能(二、COOKIE函数库:cookie.inc.php3)(转译)
· 在PHP3中实现SESSION的功能(一、SESSION函数库:session.inc.php3)(转译)
· 用 PHP 实现的简朴线性回归:(一)
    微笑服务 优质保证 索取样品