加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php完成购物车程序代码

发布时间:2022-02-11 13:33:20 所属栏目:PHP教程 来源:互联网
导读:购物车是现在电商开发者必须要做的一个功能了,下面我来给大家整理两个可用于电商网站的简单购物车程序代码,有兴趣的同学不防进入参考一下. 例子1:最近在写一个电子商务的网站,在做购物车的时候才发现php里面没有map这种数据结构,我们不能简单的通过一个has
  购物车是现在电商开发者必须要做的一个功能了,下面我来给大家整理两个可用于电商网站的简单购物车程序代码,有兴趣的同学不防进入参考一下.
 
  例子1:最近在写一个电子商务的网站,在做购物车的时候才发现php里面没有map这种数据结构,我们不能简单的通过一个hashmap来实现购物车,于是我想到到数组,通过数组的值的格式化来进行编写.
 
  也就是说,我们是通过循环数组的值,通过拆分值来判断数据是不是重复,比如我现在浏览的商品的id是4,添加的数量是3,我就在数组里面存放4-3,以后如果当遇到是id是4的时候,我们只是需要时改变数组里面这个位置的数值,如果id在数组里面拆分比较都不存在,则往数组里面添加数据,删除购物车制定id 的商品也是循环数组,这个值,使用unset()来释放这个值.
 
  具体的实现代码,如下:
 
  <?php
  session_start();
  if($_SESSION['carts']==””){
  $carts=array();
  array_push($carts, “0-0″);
  $_SESSION['carts']=$carts;
  }
  $method=$_GET['method'];
  if($method==”add”){
  $productId=$_GET['productid'];
  $number=$_GET['number'];
  $carts=$_SESSION['carts'];
  $flag=”false”;
  for($i=0;$i<sizeof($carts);$i++){
  $pn=$carts[$i];
  $pns=split(“-”, $pn);
  if($pns[0]==$productId){
  $carts[$i]=$productId.”-”.$number;
  $flag=”true”;
  $location=$i;
  }
  }
  if($flag==”true”){
  $carts[$location]=$productId.”-”.$number;
  }else{
  array_push($carts, $productId.”-”.$number);
  }
  $_SESSION['carts']=$carts;
  }//开源代码Cuoxin.com
  if($method==”delete”){
  $productId=$_GET['productid'];
  $carts=$_SESSION['carts'];
  for($i=0;$i<sizeof($carts);$i++){
  $pn=$carts[$i];
  $pns=split(“-”, $pn);
  if($pns[0]==$productId){
  unset($carts[$i]);
  }
  }
  $_SESSION['carts']=$carts;
  }
  ?>
  上面电子商务课程的时候做的一个简单的程序了,就是一个在线购物,不过还是90多分的,其实只要是这种类似的程序,都是简单的增删改查系统,无非就是就对数据库的操作,我们要做的就是很好的实现这个业务逻辑,以及能很好的设计相关的字段来控制,比如是商品的状态的控制,是上线还是下线,还是推荐的.
 
  现在看看连接数据库的代码吧,数据库配置代码,其实这个可以在xml配置文件里面设置,代码如下:
 
  class DbConfig{
  var $databaseAddress="180.153.178.89";
  var $dataBaseUser="pantingwen";
  var $databasePassword="753116";
  var $database="sqlpantingwen";
  /**
  * @return the $databaseAddress
  */
  public function getDatabaseAddress() {
  return $this->databaseAddress;
  }
  /**
  * @return the $dataBaseUser
  */
  public function getDataBaseUser() {
  return $this->dataBaseUser;
  }
  /**
  * @return the $databasePassword
  */
  public function getDatabasePassword() {
  return $this->databasePassword;
  }
  /**
  * @return the $database
  */
  public function getDatabase() {
  return $this->database;
  }
  /**
  * @param field_type $databaseAddress
  */
  public function setDatabaseAddress($databaseAddress) {
  $this->databaseAddress = $databaseAddress;
  }
  /**
  * @param field_type $dataBaseUser
  */
  public function setDataBaseUser($dataBaseUser) {
  $this->dataBaseUser = $dataBaseUser;
  }
  /**
  * @param field_type $databasePassword
  */
  public function setDatabasePassword($databasePassword) {
  $this->databasePassword = $databasePassword;
  }
  /**
  * @param field_type $database
  */
  public function setDatabase($database) {
  $this->database = $database;
  }
  }
  数据库连接代码:
 
  include_once 'DbConfig.php';
  define("conn", getcon());
  function getcon(){
  $dbConfig=new DbConfig();
  $con=mysql_connect($dbConfig->getDatabaseAddress(),$dbConfig->getDataBaseUser(),$dbConfig->getDatabasePassword());
  return $con;
  }
  /**
  * 选择一款数据库
  * Enter description here ...
  */
  function _select_db(){
  $dbConfig=new DbConfig();
  if(!mysql_select_db($dbConfig->getDatabase())){
  exit('找不到指定的数据库');
  }
  }
  /**
  * 设置字符集
  * Enter description here ...
  */
  function _set_names(){
  if(!mysql_query('set names utf8')){
  exit('字符集错误');
  }
  }
  function _query($_sql){
  _select_db();
  _set_names();
  if(!$result=mysql_query($_sql,conn)){
  echo mysql_error();
  }
  return $result;
  }
  /**
  * 只能是获取一个数据组
  * Enter description here ...
  * @param unknown_type $_sql
  */
  function _fetch_array($_sql){
  return mysql_fetch_array(_query($_sql),MYSQL_ASSOC);
  }
  /**
  * 返回数据组
  * Enter description here ...
  * @param unknown_type $_sql
  */
  function _fetch_array_list($_result){
  return mysql_fetch_array($_result,MYSQL_ASSOC);
  }
  /**
  * 影响到到的记录数
  * Enter description here ...
  */
  function _affect_rows(){
  return mysql_affected_rows();
  }
  /**
  * 判断是不是存在数据
  * Enter description here ...
  * @param unknown_type $_sql
  * @param unknown_type $_info
  */
  function _is_repeat($_sql,$_info){
  if(_fetch_array($_sql)){
  }
  }
  function _close(){
  if(!mysql_close(_conn)){
  exit('关闭异常');
  }
  }
 

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读