更新购物车中的商品

<?php
session_start();
$booksInfo=array();
$_SESSION['cart']=$booksInfo;
?>
<html><head><title>Cart</title>

<style type="text/css">
body{font-family:"trebuchet MS",Arial;font-size:14px;width:500px;}
div{border:1px solid black;padding:20px;margin-top:20px;}
.cart{
     border:1px solid black;
     float:right;
     right:50px;
     position:absolute;
     width:300px;
     padding:10px;
    
}
</style>
</head>
<body>
<div class="cart">
<strong>your cart</strong>
<p id="cart">Cart is empty</p>

</div>
<?php
$objxXML=simplexml_load_file('books.xml');
foreach ($objxXML->book as $book){
     echo '<div>';
     echo 'Name -'.$book->name.'<br/>';
     echo 'Price -$'.$book->price.'<br/>';

?>
Quantity-
<select >
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
    
</select>
<input type="hidden" value="<?php echo $book['id'];?>"  />
<input type="button" value="select this book" />
<?php
echo "</div>";
}
?>

<script type="text/javascript" src="../jquery-1.4.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
     $('input:button').click(function(){
          $.post('calculate.php',{
               bookId:$(this).prev('input:hidden').val(),
          quantity:$(this).prev().prev('select').val()
               },function(data){$('#cart').html(data);});

          });
    
});

</script>
</body>
</html>
 
calculate.php  //价格计算
<?php
//error_reporting(0);
session_start();
$booksInfo=$_SESSION['cart'];
     $bookFound=false;
if(count($booksInfo)>0)
{

     for($i=0;$i<count($booksInfo);$i++)
     {
          if($booksInfo[$i]['bookId']==$_POST['bookId'])
          {
               $booksInfo[$i]['quantity']=$_POST['quantity'];
               $bookFound=true;
               break;
          }
     }
}
if(!$bookFound)
{
     $book=array('bookId'=>$_POST['bookId'],'quantity'=>$_POST['quantity']);
     array_push($booksInfo, $book);
     $_SESSION['cart']=$booksInfo;
}

$grossTotal=0;
$str='';
for($i=0;$i<count($booksInfo);$i++)
{
     $aBook=$booksInfo[$i];
     $bookName=getBookName($aBook['bookId']);
     $bookPrice=getPriceForBook($aBook['bookId']);
    
     $totalPrice=$bookPrice*$aBook['quantity'];
     $grossTotal+=$totalPrice;
     $str.='<strong>Name -</strong>'.$bookName;
     $str.='<br/>';
     $str.='<strong>Copies -</strong>'.$booksInfo[$i]['quantity'];
    
     $str.='<br/>';
     $str.='<strong>Price-</strong>$'.$bookPrice.'*'.$booksInfo[$i]['quantity'].'=$'.$totalPrice;
     $str.='<br/><br/>';
}
$str.='<strong>Net Amount -</strong>$'.$grossTotal;

echo $str;

function getBookName($id)
{
     $objXML=simplexml_load_file('books.xml');
     foreach ($objXML->book as $book)
     {
          if($book['id']==$id)
          {
               return $book->name;
          }
     }
     return false;
}

function getPriceForBook($id)
{
     $objXML=simplexml_load_file('books.xml');
     foreach($objXML->book as $book)
     {
          if($book['id']==$id)
          {
               return $book->price;
          }
         
     }
     return false;
}
posted @ 2014-03-31 18:02  wint  Views(134)  Comments(0)    收藏  举报