PHP写的一个完整的购物车程序
来得查理 2009-07-08 11:20:36 <?php
session_start();
class mycart{
function connect($host,$usernum,$password){
$conn = mysql_connect($host,$usernum,$password);
//mysql_query('set names gb2312');
mysql_query("set names 'gb2312'");
set_time_limit(5);
if($conn){
//echo "数据库连接成功";
}
else{
echo "数据库连接失败";
}
return $conn;
}
function selectdb($database){
if(mysql_select_db($database)){
//echo "数据库选择成功";
}
else{
echo "数据库选择失败";
}
}
function showproduct($sql){
if(!isset($sql)){
echo "对不起,参数错误!";
}
$result = mysql_query($sql);
if(!$result){
echo "没有找到数据!";
}
echo "<table width=600 align=center cellspacing=1 cellpadding=5 bgcolor=#ccdfaa>";
echo "<tr><td>产品名称</td><td>产品类别</td><td>产品价格</td><td>购买</td>";
while($rs = mysql_fetch_array($result)){
echo "<tr bgcolor=#fffff onMouseOver=this.style.background='#fff5cf' onMouseOut=this.style.background='#ffffff'>
<td>".$rs[productname]."</td>
<td>".$rs[productclass]."</td>
<td>¥ ".$rs[productprice]."</td>
<td><a href='testnew.php?prolist=".$rs[productname]."'>购买</a></td>";
}
echo "</tr>";
echo "</table><br>";
}
function addtobus($productname){
if(!isset($_SESSION['shopbus'][$productname])){
$_SESSION[$productname]=array();
$_SESSION[$item]=0;
$_SESSION[$price]=0.0;
$_SESSION[$sum]=0.0;
}
if(isset($_SESSION['shopbus'][$productname])){
$_SESSION['shopbus'][$productname]=$_SESSION['shopbus'][$productname]+1;
}
else{
$_SESSION['shopbus'][$productname]=1;
}
return $_SESSION['shopbus'][$productname];
}
function showshopbus(){
echo "<table width=600 align=center cellspacing=1 cellpadding=5 bgcolor=#afbfcc>";
echo "<tr><td>产品名称</td><td>数量</td><td>产品单价</td><td>产品总价</td><td>选择操作</td>";
if($_SESSION['shopbus'])
{
foreach($_SESSION['shopbus'] as $value=>$key){
$_SESSION[$item]=$key;
$price= $this->getProcount("select productname ,productprice from shopbus where productname='".$value."'");
$totalprice=$price*$key;
$counter = count($_SESSION['shopbus']);
$sum +=$totalprice;
$_SESSION[$sum]=$sum;
echo "<tr bgcolor=#ffffff><td>".$value."</td><form name=f1 action='' method=post>
<td><input type=text size=5 name=shuliang value =".$_SESSION[$item].">
<input type=hidden name=mingcheng value =".$value."></td>
<td> ¥ ".$price."</td>
<td> ¥ ".$totalprice."</td>
<td><input type=button value='删除' onclick=javascript:window.location.href='testnew.php?delpro=".$value."'>
<input type=submit value=更新></td></form>";
}
}
else{
$_SESSION[$sum]=0.0;
echo "<tr bgcolor='#ffffff'><td colspan=6>对不起,您没有购买任何产品!</td></tr>";
}
echo "<tr bgcolor='#ffffff'>
<td colspan=5 align=center>您应该支付:¥ <font color=red>".$_SESSION[$sum]."</font>元人民币
<input type=button value='去收银台' onclick=javascript:window.opener=null;window.alert('您好,你此次购买了".$counter."件产品总共要付".$sum."元');//window.close();>
</td></tr>";
echo "</tr></table>";
}
function removeItem($delpro){
if(isset($delpro)){
foreach($_SESSION['shopbus'] as $value=>$key){
if($delpro==$value){
unset($_SESSION['shopbus'][$value]);
echo "<script>window.alert('请注意!该产品将在购物车中被删除!');</script>";
}
}
echo "<script>window.location.href='testnew.php';</script>";
}
}
function updateItem($updatepro,$updatebb){
if(isset($updatepro)&&isset($updatebb)){
if(!is_numeric($updatepro)){
echo "<script>alert('输入的数量有错误字符!');</script>";
echo "<script>window.location.href='testnew.php';</script>";
exit();
}
foreach($_SESSION['shopbus'] as $value=>$key){
if($key==settype($updatepro,"integer")&&$value==$updatebb){
$_SESSION['shopbus'][$value]=$updatepro;
echo "<script>window.alert('请注意!购买数量已经更改!');</script>";
echo "<script>window.location.href='testnew.php';</script>";
}
if($updatepro==0){
echo "<script>window.alert('请注意!购买数量设置为0件商品将在购物车中清除!');</script>";
unset($_SESSION['shopbus'][$updatebb]);
echo "<script>window.location.href='testnew.php';</script>";
}
}
}
}
function isGetproduct($productname){
if($productname){
foreach($_SESSION['shopbus'] as $value=>$key){
if($productname==$value&&$key>1){
echo "<script>alert('您已经买过这个产品,不要重复购买!');</script>";
$this->updateItem($updatepro=1,$updatebb=$productname);
}
}
}
}
function getProcount($sql){
$pricesql = mysql_query($sql);
while($rs = mysql_fetch_array($pricesql)){
$price = $rs[productprice];
}
return $price;
}
function closeMySql($conn)
{
if($conn)
{
mysql_close($conn);
}
}
}
$productname = $_GET['prolist'];
$delpro = $_GET['delpro'];
$updatepro = $_POST['shuliang'];
$updatebb = $_POST['mingcheng'];
header("Content-type:text/html;charset=gb2312");
$shoppingbus = new mycart;
$conn = $shoppingbus->connect('222.73.204.185','sq_cart','123456789');
$shoppingbus->selectdb('sq_cart');
$shoppingbus->showproduct('select * from shopbus');
if(isset($productname)){
$shoppingbus->addtobus($productname);
}
$shoppingbus->showshopbus();
$shoppingbus->updateItem($updatepro,$updatebb);
$shoppingbus->removeItem($delpro);
$shoppingbus->isGetproduct($productname);
$shoppingbus->closeMySql($conn);
?>
<p>
作者:RED Cherry QQ:122486006
欢迎大家和我交流!!!!
</p>