一个用session实现微型购物篮的例子

session

采于www.phpbuilder.com,稍作补充。代码如下。嘻嘻:)
basket.php:
<?php
include ("evert.inc");
?>
<PRE>
ID    Name    Price
1     Mouse   25.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=1&price=25&basket=Mouse">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=1&price=25&basket=Mouse">subtract</A>
2     Key    100.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=2&price=100&basket=Key">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=2&price=100&basket=Key">subtract</A>
3     Car   5000.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=3&price=5000&basket=Car">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=3&price=5000&basket=Car">subtract</A>
4     Game    25.00 <A HREF="<?echo $PHP_SELF; ?>?act=add&id=4&price=25&basket=Game">add</A>  <A HREF="<?echo $PHP_SELF; ?>?act=subtract&id=4&price=25&basket=Game">subtract</A>
</PRE>
<a href="<?echo $PHP_SELF;?>?logout=1">Logout</a>

evert.inc:
<?php
session_start();
if($logout){
session_destroy();
unset($ses_basket_name);
unset($ses_basket_amount);
unset($ses_basket_price);
unset($ses_basket_id);
unset($ses_basket_items);
}
if ($basket!=""){
                if (session_is_registered("ses_basket_items")){
                $basket_position_counter=0;
                $double=0;

                if ($ses_basket_items>0){
                   foreach ($ses_basket_name as $basket_item){
                      if ($basket_item==$basket){
                         $double=1;
                         $basket_position=$basket_position_counter;

                      }
                      $basket_position_counter++;
                   }
                }
              if ($double==1){
                $oldamount=$ses_basket_amount[$basket_position];
                if($act=="add")
                    $ses_basket_amount[$basket_position]++;
                else{
                    $ses_basket_amount[$basket_position]--;
                    if($ses_basket_amount[$basket_position]<0)
                       $ses_basket_amount[$basket_position]=0;
                    }
                 $amount=$ses_basket_amount[$basket_position];
                 $oldprice=$ses_basket_price[$basket_position];
                 $newprice=$oldamount>0?($oldprice/$oldamount)*$amount:$price;
                 $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++;
                   }
        }else{
                $ses_basket_items=1;
                $ses_basket_name[0]=$basket;
                $ses_basket_amount[0]=1;
                $ses_basket_price[0]=$price;
                $ses_basket_id[0]=$id;
                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");
        }
}

if ($ses_basket_items>0){
   for ($basket_counter=0;$basket_counter<$ses_basket_items;$basket_counter++){
      $price=sprintf("%01.2f",$ses_basket_price[$basket_counter]);
      $amount=$ses_basket_amount[$basket_counter];
      $name=$ses_basket_name[$basket_counter];
      if($amount>0){
        echo "$amount $name $price";
        echo "<BR>\n";
      }
   }
} else {
        $ses_basket_items=0;
        unset($ses_basket_name);
        unset($ses_basket_amount);
        unset($ses_basket_price);
        unset($ses_basket_id);
}

?>

时间: 2025-01-01 12:19:23

一个用session实现微型购物篮的例子的相关文章

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

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中注册新的篮子 se

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

session 介绍 如果你还没有用PHP 实现你自已的购物篮,在读完这篇文章之后你应该可以创建一个了.甚至你可能已 经有了一个购物篮,我在这里所提供的一些技巧可能会帮助你改善你的系统. 我将给你一些提示,关于如何去做也许才能减少对购物篮表的无限的查询,或减少无限的文本文件填充 你的文件系统,因为应用程序只会做但不会删除它们. 如果你对这类的题目是个新手,不要害怕.它实际上相当简单和有效,你只需要一个支持php4的主机, 象notepad或vi之类的html编辑器,你宝贵的几分种,和这个小例子.

Illustrator设计一个超市里红色购物篮水晶图标教程

给各位Illustrator软件的使用者们来详细的解析分享一下设计一个超市里红色购物篮水晶图标的教程. 教程分享: 1.在Ai软件中,新建一个800*800的文档,选择矩形工具,画一个矩形图形,并填充颜色,如图所示   2.然后选择直接选择工具,把矩形图形的锚点调整一下位置,如图所示   3.接着选中圆角图形到对象-路径-偏移路径,并添加渐变颜色,如图所示       4.接着选择圆角矩形工具,画5个圆角图形,并填充颜色,如图所示   5.再选择圆角矩形工具,画2个圆角图形,并填充颜色,如图所示

利用Python进行市场购物篮分析——入门篇

更多深度文章,请关注:https://yq.aliyun.com/cloud 我们从日常生活中获取数据,大量的商业活动以及社交活动为我们提供了丰富的数据.如何从这些看似无用的数据中提取价值,这对于我们程序猿来说应该是我们的职责所在.今天就让我们用Python来进行市场购物篮的分析. 文中需要用到MLxtend,MLxtend是一个基于Python的开源项目,主要为日常处理数据科学相关的任务提供了一些工具和扩展.项目的Github地址:http://github.com/rasbt/mlxtend

《R语言数据挖掘》——2.2 购物篮分析

本节书摘来自华章出版社<R语言数据挖掘>一书中的第2章,第2.2节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 2.2 购物篮分析 购物篮分析(Market basket analysis)是用来挖掘消费者已购买的或保存在购物车中物品组合规律的方法.这个概念适用于不同的应用,特别是商店运营.源数据集是一个巨大的数据记录,购物篮分析的目的发现源数据集中不同项之间的关联关系. 2

市场购物篮分析(规则归纳/C5.0)+apriori

之前介绍了C5.0的内容,今天将描述超市购物篮内容(所购买的全部商品的集合)的虚构数据,以及购买的相关个人数据(通过忠诚卡方案获得).目的是寻找购买相似产品并且可按人口统计学方式(年龄,收入)刻画其特征的客户群. 要做这项工作,要进行两个阶段的工作: 关联规则建模和一个解释所购买商品之间联系的WEB显示: C5.0规则归纳(描绘已标识产品组的购买者的特征) Note:此应用不直接使用预测模型,因此,不对最终模型进行准确性度量,在数据挖掘过程中也不存在与之相关的训练/检验两个步骤的区分. 本例使用

编程-添加购物车时,如何让购物篮不清空

问题描述 添加购物车时,如何让购物篮不清空 我这个是用js做的,点击下一页的时候会刷新页面,购物篮会清空,怎么才能不让它清空? 解决方案 你获得ajax的数据后,把html组织好,然后append到div容器中 解决方案二: 不刷新,只是隐藏切换,或者添加到购物车的时候,就先存到数据库中的临时表里面去.. 解决方案三: 分页也用ajax,否则每次添加到购物车就保存到服务器,分页的时候读取数据库的购物车数据 解决方案四: 怎么会清空听应该是不刷新就可以吧

一个在客户端生成并使用XML的例子

xml|客户端     这是一个在客户端生成并使用XML的例子,主要用途实现无双刷新页面在客户端处理复杂的数据,由两个文件构成.大家可以看一下,提出宝贵的意见.注意:使用时将saveXML.asp的路径改为GenXML.html的物理路径 -GenXML.html- <!--*******'* Author hardvb'* Support : web@webjx.com'* Date Created : 2004/6/18 Merry ChrisMas Day'* Date Modified:

SYBAES ASE 12.0 上一个横表转纵表的简单例子

SYBAES ASE 12.0 上一个横表转纵表的简单例子   千千如梦 2002年10月   /* create table ... */create table #dest_table(                         Flag char(1),                         A int null,                         B int null,                         C int null,