php实现购物车功能(上)

2019-12-13 13:11:54于海丽

4.11 book_fns.php文件中的函数get_book_details()

function get_book_details($isbn) //从数据库中获取一本图书的详细说明 
 { 
 if((!$isbn) || ($isbn == '')) //如果图书统一书号为空 
  return false; 
  
 $conn = db_connect(); //连接数据库 
 $query = "select * from books where isbn = '". $isbn ."'"; 
 $result = @$conn ->query($query); 
 if(!$result) //查询失败,原因为查询出错 
  return false; 
 $result = @$result ->fetch_assoc(); 
 return $result; 
 } 

4.12 output_fns.php文件中的函数display_book_details()

 

function display_book_details($book) //输出图书详细说明 
 { 
 if(is_array($book)) 
 { 
  echo "<table><tr>"; 
  // 如果图片存在 
  if(@file_exists("images/". $book['isbn'] .".jpg")) 
  { 
  $size = getimagesize("images/". $book['isbn'] .".jpg"); 
  if(($size[0] > 0) && ($size[1] > 0)) 
  { 
   echo "<td><img src="images/". $book['isbn'] .".jpg" style="border: 1px solid black"/></td>"; 
  } 
  } 
  echo "<td><ul>"; 
  echo "<li><strong>Author:</strong>"; 
  echo $book['author']; 
  echo "</li><li><strong>ISBN:</strong>"; 
  echo $book['isbn']; 
  echo "</li><li><strong>Our Price:</strong>"; 
  echo number_format($book['price'],2); 
  echo "</li><li><strong>Description:</strong>"; 
  echo $book['description']; 
  echo "</li></ul></td></tr></table>"; 
 } 
 else 
 { 
  echo "<p>The details of this book cannot be displayed at this time.</p>"; 
 } 
 echo "<hr/>"; 
 } 

5、实现购物车

不使用参数的脚本只显示购物车的内容

带有参数new的脚本将添加一个物品到购物车

由以下代码实现:
5.1 show_cart.php

<?php 
 
/** 
 * @author switch 
 * @copyright 2015 
 * 显示用户购物车的内容。也用来向购物车添加图书 
 */ 
 //require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。 
 require_once('book_sc_fns.php'); 
 
 session_start(); 
 
 @$new = $_GET['new']; 
 
 if($new) 
 { 
 if(!isset($_SESSION['cart'])) //购物车中无物品 
 { 
  $_SESSION['cart'] =array(); 
  $_SESSION['items'] = 0; 
  $_SESSION['total_price'] = '0.00'; 
 } 
  
 if(isset($_SESSION['cart'][$new])) 
 { 
  $_SESSION['cart'][$new]++; 
 } 
 else 
 { 
  $_SESSION['cart'][$new] = 1; 
 } 
  
 $_SESSION['total_price'] = calculate_price($_SESSION['cart']); 
 $_SESSION['items'] = calculate_items($_SESSION['cart']); 
 } 
 
 if(isset($_POST['save'])) 
 { 
 foreach($_SESSION['cart'] as $isbn => $qty) 
 { 
  if($_POST[$isbn] == '0') 
  unset($_SESSION['cart'][$isbn]); 
  else 
  $_SESSION['cart'][$isbn] = $_POST[$isbn]; 
 } 
 
 $_SESSION['total_price'] = calculate_price($_SESSION['cart']); 
 $_SESSION['items'] = calculate_items($_SESSION['cart']); 
 } 
 
 do_html_header("Your shopping cart"); 
 
 if((@$_SESSION['cart']) && (array_count_values($_SESSION['cart']))) 
 { 
 display_cart($_SESSION['cart']); 
 } 
 else 
 { 
 echo "<p>There are no items in your cart</p><hr/>"; 
 } 
 
 $target = "index.php"; 
 
 //如果只有一种物品添加到购物车,可以继续购物 
 if($new) 
 { 
 $details = get_book_details($new); 
 if($details['catid']) 
 { 
  $target = "show_cat.php?catid=". $details['catid']; 
 } 
 } 
 
 display_button($target,"continue-shopping","Continue Shopping"); 
 
 //SSL链接--需要配置,PS:没配置,所以不能使用 
// $path = $_SERVER['PHP_SELF']; //获取路径 
// $server = $_SERVER['SERVER_NAME']; //获取主机名 
// $path = str_replace('show_cart.php','',$path); 
// display_button("https://". $server . $path ."checkout.php","go-to-checkout","Go To Checkout"); 
 
 //非SSL链接 
 display_button("checkout.php","go-to-checkout","Go To Checkout"); 
 
 do_html_footer(); 
?> 								 
			 
相关文章 大家在看