1、商品展示页面

代码如下:

<table width="255" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="130" rowspan="6"><div align="center">

<?php

if(trim($info[tupian]==""))

{

echo "暂无图片";

}

else

{

?>

<img src="<?php echo $info[tupian];?>" width="130" height="100" border="0">

<?php

}

?>

</div></td>

<td width="20" height="16"> </td>

<td width="113"><font color="EF9C3E">【<?php echo $info[mingcheng];?>】</font></td>

</tr>

<tr>

<td height="16"> </td>

<td><font color="910800">【市场价:<?php echo $info[shichangjia];?>】</font></td>

</tr>

<tr>

<td height="16"> </td>

<td><font color="DD4679">【会员价:<?php echo $info[huiyuanjia];?>】</font></td>

</tr>

<tr>

<td height="16"> </td>

<td>【<a href="lookinfo.php?id=<?php echo $info[id];?>">查看信息</a>】</td>

</tr>

<tr>

<td height="16"> </td>

<td>【<a href="addgouwuche.php?id=<?php echo $info[id];?>">放入购物车</a>】</td>

</tr>

<tr>

<td height="16"> </td>

<td><font color="13589B">【剩余数量:

<?php

if(($info[shuliang]-$info[cishu])>0)

{

echo ($info[shuliang]-$info[cishu]);

}

else

{

echo "已售完";

}

?>】</font></td>

</tr>

</table>

<?php

}

?>

</table>

2、文件addgouwuche.php

复制代码代码如下:

<?php

session_start();

include("conn.php");

if($_SESSION[username]=="")

{

echo "<script>alert('请先登录后购物!');history.back();</script>";

exit;

}

$id=strval($_GET[id]);

$sql=mysql_query("select * from shangpin where id='".$id."'",$conn);

$info=mysql_fetch_array($sql);

if($info[shuliang]<=0)

{

echo "<script>alert('该商品已经售完!');history.back();</script>";

exit;

}

$array=explode("@",$_SESSION[producelist]);

for($i=0;$i<count($array)-1;$i++)

{

if($array[$i]==$id)

{

echo "<script>alert('该商品已经在您的购物车中!');history.back();</script>";

exit;

}

}

$_SESSION[producelist]=$_SESSION[producelist].$id."@";

$_SESSION[quatity]=$_SESSION[quatity]."1@";

header("location:gouwu1.php");

?>

3、文件gouwu1.php

代码如下:

<?php

session_start();

if($_SESSION[username]=="")

{

echo "<script>alert('请先登录,后购物!');history.back();</script>";

exit;

}

?>

<?php

include("top.php");

?>

<table width="800" height="438" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td width="200" height="438" valign="top" bgcolor="#E8E8E8"><div align="center">

<?php include("left.php");?>

</div></td>

<td width="10" background="images/line2.gif"> </td>

<td width="590" valign="top"><table width="550" height="10" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td> </td>

</tr>

</table>

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">

<form name="form1" method="post" action="gouwu1.php">

<tr>

<td height="25" bgcolor="#555555"><div align="center" style="color: #FFFFFF"><?php echo $_SESSION[username];?>的购物车</div></td>

</tr>

<tr>

<td bgcolor="#555555"><table width="500" border="0" align="center" cellpadding="0" cellspacing="1">

<?php

session_start();

session_register("total");

if($_GET[qk]=="yes")

{

$_SESSION[producelist]="";

$_SESSION[quatity]="";

}

$arraygwc=explode("@",$_SESSION[producelist]);

$s=0;

for($i=0;$i<count($arraygwc);$i++)

{

$s+=intval($arraygwc[$i]);

}

if($s==0 )

{

echo "<tr>";

echo" <td height='25' colspan='6' bgcolor='#FFFFFF' align='center'>您的购物车为空!</td>";

echo"</tr>";

}

else

{

?>

<tr>

<td width="125" height="25" bgcolor="#FFFFFF"><div align="center">商品名称</div></td>

<td width="52" bgcolor="#FFFFFF"><div align="center">数量</div></td>

<td width="64" bgcolor="#FFFFFF"><div align="center">市场价</div></td>

<td width="64" bgcolor="#FFFFFF"><div align="center">会员价</div></td>

<td width="51" bgcolor="#FFFFFF"><div align="center">折扣</div></td>

<td width="66" bgcolor="#FFFFFF"><div align="center">小计</div></td>

<td width="71" bgcolor="#FFFFFF"><div align="center">操作</div></td>

</tr>

<?php

/**

* 购物车 商品数量管理

* Edit www.jbxue.com

*/

$total=0;

$array=explode("@",$_SESSION[producelist]);

$arrayquatity=explode("@",$_SESSION[quatity]);

while(list($name,$value)=each($_POST))

{

for($i=0;$i<count($array)-1;$i++)

{

if(($array[$i])==$name)

{

$arrayquatity[$i]=$value;

}

}

}

$_SESSION[quatity]=implode("@",$arrayquatity);

for($i=0;$i<count($array)-1;$i++)

{

$id=$array[$i];

$num=$arrayquatity[$i];

if($id!="")

{

$sql=mysql_query("select * from shangpin where id='".$id."'",$conn);

$info=mysql_fetch_array($sql);

$total1=$num*$info[huiyuanjia];

$total+=$total1;

$_SESSION["total"]=$total;

?>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[mingcheng];?></div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center">

<input type="text" name="<?php echo $info[id];?>" size="2" class="inputcss" value=<?php echo $num;?>>

</div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[shichangjia];?>元</div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[huiyuanjia];?>元</div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo @(ceil(($info[huiyuanjia]/$info[shichangjia])*100))."%";?></div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[huiyuanjia]*$num."元";?></div></td>

<td height="25" bgcolor="#FFFFFF"><div align="center"><a href="removegwc.php?id=<?php echo $info[id]?>">移除</a></div></td>

</tr>

<?php

}

}

?>

<tr>

<td height="25" colspan="8" bgcolor="#FFFFFF"><div align="right">

<table width="500" height="25" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td width="125"><div align="center">

<input type="submit" value="更改商品数量" class="buttoncss">

</div></td>

<td width="125"><div align="center"><a href="gouwu2.php">去收银台</a></div></td>

<td width="125"><div align="center"><a href="gouwu1.php?qk=yes">清空购物车</a></div></td>

<td width="125"><div align="left">总计:<?php echo $total;?></div></td>

</tr>

</table>

</div></td>

</tr>

<?php

}

?>

</table></td>

</tr>

</form>

</table></td>

</tr>

</table>

3、文件gouwu2.php

、代码如下:

<table width="800" height="438" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td width="200" height="438" valign="top" bgcolor="#E8E8E8"><div align="center">

<?php include("left.php");?>

</div></td>

<td width="10" background="images/line2.gif"> </td>

<td width="590" valign="top"><table width="550" height="15" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td> </td>

</tr>

</table>

<table width="550" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td height="25" bgcolor="#555555"><div align="center" style="color: #FFFFFF">收货人信息</div></td>

</tr>

<tr>

<td height="300" bgcolor="#555555"><table width="550" height="300" border="0" align="center" cellpadding="0" cellspacing="1">

<script language="javascript">

/**

* 购物车 收货人信息

* Edit www.jbxue.com

*/

function chkinput(form)

{

if(form.name.value=="")

{

alert("请输入收货人姓名!");

form.name.select();

return(false);

}

if(form.dz.value=="")

{

alert("请输入收货人地址!");

form.dz.select();

return(false);

}

if(form.yb.value=="")

{

alert("请输入收货人邮编!");

form.yb.select();

return(false);

}

if(form.tel.value=="")

{

alert("请输入收货人联系电话!");

form.tel.select();

return(false);

}

if(form.email.value=="")

{

alert("请输入收货人E-mail地址!");

form.email.select();

return(false);

}

if(form.email.value.indexOf("@")<0)

{

alert("收货人E-mail地址格式输入错误!");

form.email.select();

return(false);

}

return(true);

}

</script>

<form name="form1" method="post" action="savedd.php" onSubmit="return chkinput(this)">

<tr>

<td width="100" height="25" bgcolor="#FFFFFF"><div align="center">收货人姓名:</div></td>

<td width="183" bgcolor="#FFFFFF"><div align="left"><input type="text" name="name" size="25" class="inputcss" style="</div></td>

<td width="86" bgcolor="#FFFFFF"><div align="center">性别:</div></td>

<td width="176" bgcolor="#FFFFFF"><div align="left">

<select name="***">

<option selected value="男">男</option>

<option value="女">女</option>

</select>

</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">详细地址:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input name="dz" type="text" class="inputcss" id="dz" style="

</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">邮政编码:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input type="text" name="yb" size="25" class="inputcss" style="</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">联系电话:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input type="text" name="tel" size="25" class="inputcss" style="</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">电子邮箱:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left"><input type="text" name="email" size="25" class="inputcss" style="</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">送货方式:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left">

<select name="shff" id="shff">

<option selected value="普通平邮">普通平邮</option>

<option value="特快专递">特快专递</option>

<option value="送货上门">送货上门</option>

<option value="个人送货">个人送货</option>

<option value="E-mail">E-mail</option>

</select>

</div></td>

</tr>

<tr>

<td height="25" bgcolor="#FFFFFF"><div align="center">支付方式:</div></td>

<td height="25" colspan="3" bgcolor="#FFFFFF"><div align="left">

<select name="zfff" id="zfff">

<option selected value="建设银行汇款">建设银行汇款</option>

<option value="交通银行汇款">交通银行汇款</option>

<option value="邮局汇款">邮局汇款</option>

<option value="网上支付">网上支付</option>

</select>

</div></td>

</tr>

<tr>

<td height="100" bgcolor="#FFFFFF"><div align="center">简单留言:</div></td>

<td height="100" colspan="3" bgcolor="#FFFFFF"><div align="left">

<textarea name="ly" cols="60" rows="8" class="inputcss" style="background-color:#e8f4ff " onMouseOver="this.style.backgroundColor='#ffffff'" onMouseOut="this.style.backgroundColor='#e8f4ff'"></textarea>

</div></td>

</tr>

<tr>

<td height="25" colspan="4" bgcolor="#FFFFFF"><div align="center"><input type="submit" value="提交订单" class="buttoncss">

</div></td>

</tr>

</form>

</table></td>

</tr>

</table></td>

</tr>

</table>

<?php

if($_GET[dingdanhao]!="")

{ $dd=$_GET[dingdanhao];

session_start();

$array=explode("@",$_SESSION[producelist]);

$sum=count($array)*20+260;

echo" <script language='javascript'>";

echo" window.open('showdd.php?dd='+'".$dd."','newframe','top=150,left=200,width=600,height=".$sum.",menubar=no,toolbar=no,location=no,scrollbars=no,status=no ')";

echo "</script>";

}

?>

4、数据库配置文件conn.php

代码如下:

<?php

$conn=mysql_connect("localhost","root","") or die("数据库服务器连接错误".mysql_error());

mysql_select_db("shop",$conn) or die("数据库访问错误".mysql_error());

mysql_query("set character set gb2312");

mysql_query("set names gb2312");

?>

php 购物车完整实现代码的更多相关文章

  1. 原生JS实现购物车结算功能代码+zepto版

    html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  2. 谷歌开源项目Google Preview Image Extractor(PIEX) (附上完整demo代码)

    前天偶然看到谷歌开源项目中有一个近乎无人问津的项目Google Preview Image Extractor(PIEX) . 项目地址: https://github.com/google/piex ...

  3. openssl对数组加密解密的完整实现代码

    本例是用C实现的对一个数组进行加密,加密到第二个数组,然后解密到另一个数组的完整实现代码. #include <stdio.h> #include <string.h> #in ...

  4. 快速双边滤波 附完整C代码

    很早之前写过<双边滤波算法的简易实现bilateralFilter>. 当时学习参考的代码来自cuda的样例. 相关代码可以参阅: https://github.com/johng12/c ...

  5. 基于RNN的音频降噪算法 (附完整C代码)

    前几天无意间看到一个项目rnnoise. 项目地址: https://github.com/xiph/rnnoise 基于RNN的音频降噪算法. 采用的是 GRU/LSTM 模型. 阅读下训练代码,可 ...

  6. 音频压缩编码 opus 附完整C++代码示例

    绝大数人都知道mp3格式编码,以及aac,amr等压缩格式编码. 而在语音通信界有一个强悍的音频格式编码opus. 经过实测,压缩比最高可以达到1:10. 100KB 压缩后 10KB 虽然是有损压缩 ...

  7. 音频降噪算法 附完整C代码

    降噪是音频图像算法中的必不可少的. 目的肯定是让图片或语音 更加自然平滑,简而言之,美化. 图像算法和音频算法 都有其共通点. 图像是偏向 空间 处理,例如图片中的某个区域. 图像很多时候是以二维数据 ...

  8. mser 最大稳定极值区域(文字区域定位)算法 附完整C代码

    mser 的全称:Maximally Stable Extremal Regions 第一次听说这个算法时,是来自当时部门的一个同事, 提及到他的项目用它来做文字区域的定位,对这个算法做了一些优化. ...

  9. 音频自动增益 与 静音检测 算法 附完整C代码

    前面分享过一个算法<音频增益响度分析 ReplayGain 附完整C代码示例> 主要用于评估一定长度音频的音量强度, 而分析之后,很多类似的需求,肯定是做音频增益,提高音量诸如此类做法. ...

随机推荐

  1. 搜狗输入法皮肤安装 分类: windows常用小技巧 2014-05-04 15:10 172人阅读 评论(0) 收藏

    第一步: 下载皮肤,皮肤是.ssf格式的. 第二步: 找到安装目录:(以我的为例) D:\软件\搜狗输入法\SogouInput\7.1.0.1652\AllSkin: 把下载的皮肤剪切(或复制)到此 ...

  2. 经常使用虚拟现实仿真软件总汇(zz)

     经常使用虚拟现实仿真软件总汇(zz)http://hi.baidu.com/busycai/blog/item/fe57e41e5f25fa1c403417b2.html 2007年09月07日 星 ...

  3. Delphi Format中的换行符号是什么

    Delphi Format中的换行符号是什么 #,s1]);  s3#'%s',[s,s1]);  ShowMessage(s2);  ShowMessage(s3); end;   #13#10两边 ...

  4. Android无法更新sdk的解决办法

    修改 windows/system32/drivers/etc/hosts 文件 添加 203.208.46.146 dl.google.com203.208.46.146 dl-ssl.google ...

  5. [io PWA] Great libraries and tools for great Progressive Web Apps

    sw-toolbox: Github It provides a cononical implementation of all the runtime caching strategies that ...

  6. range() 函数创建并返回一个包含指定范围的元素的数组

    语法 range(first,second,step) 参数 描述 first 必需.规定数组元素的最小值. second 必需.规定数组元素的最大值. step 可选.规定元素之间的步进制.默认是 ...

  7. Qt绘图之QGraphicsScene QGraphicsView QGraphicsItem详解

    Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...

  8. json-lib-2.4-jdk15.jar maven

    最近自己将一个web项目装换到使用mevan自动管理. 遇到了一个json包导入的问题.最终解决如下: <!-- https://mvnrepository.com/artifact/net.s ...

  9. Change Fragment layout on orientation change

    Warning: this may be a pre-Lollipop answer. A Fragment doesn't get re-inflated on configuration chan ...

  10. Android 根据屏幕分辨率自动调整字体大小

    1.在oncreate 里获取手机屏幕宽和高度 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDispl ...