欢迎光临
我们一直在努力

Zencart如何转移客户资料

今天主要给大家推荐一个Zencart如何转移客户资料的简化版主要的用途就是就一个zencart网站的客户字全部迁移到另一个zencart外贸商城网站

<?php
// +----------------------------------------------------------------------
// | Project:Zencart客户资料转移合并工具简化版 Customers Manage
// +----------------------------------------------------------------------
// | Explanation:2013-12-1
// +----------------------------------------------------------------------
// | Version: V1.8
// +----------------------------------------------------------------------

header('Content-Type:text/html;charset=UTF-8');
require('includes/application_top.php');

function ez_get_customers_books($customers_id,$customers_default_address_id){
  global $db;
  $books_data=array();
  $books=$db->Execute("SELECT * FROM ".TABLE_ADDRESS_BOOK." WHERE customers_id=".$customers_id);
  while(!$books->EOF){
    $books->fields['primary'] = ($books->fields['address_book_id']==$customers_default_address_id) ? 1 : 0;
    $books_data[]=$books->fields;
    $books->MoveNext();
  }
  return $books_data;
}

function ez_get_customers_info($customers_id){
  global $db;
  $customers_info=$db->Execute("SELECT * FROM ".TABLE_CUSTOMERS_INFO." WHERE customers_info_id=".$customers_id);
  unset($customers_info->fields['customers_info_id']);
  return $customers_info->fields;
}

$customers_data=array();

//导出
if($_GET['toolaction']=='export'){
  $customers = $db->Execute("SELECT * FROM ".TABLE_CUSTOMERS);

  while(!$customers->EOF){
    $customers->fields['books']=ez_get_customers_books($customers->fields['customers_id'],$customers->fields['customers_default_address_id']);
    $customers->fields['customers_info']=ez_get_customers_info($customers->fields['customers_id']);
    $customers_data[$customers->fields['customers_email_address']]=$customers->fields;
    $customers->MoveNext();
  }
  file_put_contents(DIR_FS_SQL_CACHE.'/customers_data.log', json_encode($customers_data));
  echo '导出成功';
  exit;
}

//导入
if($_GET['toolaction']=='import'){
  if(!file_exists(DIR_FS_SQL_CACHE.'/customers_data.log')) {echo '客户资料文件不存在';die;}
  $customers_data_json=file_get_contents(DIR_FS_SQL_CACHE.'/customers_data.log');
  $customers_data=json_decode($customers_data_json,true);
  foreach($customers_data as $email_address => $email_data){

    $check_email_query = "select count(*) as total
                            from " . TABLE_CUSTOMERS . "
                            where customers_email_address = '" . $email_address . "'";
    $check_email = $db->Execute($check_email_query);
    if ($check_email->fields['total'] > 0) continue;  //邮箱已存在跳出

    $book_data=$email_data['books'];
    $customers_info=$email_data['customers_info'];

    unset($email_data['books'],$email_data['customers_id'],$email_data['customers_info']);

    //插入客户表
    zen_db_perform(TABLE_CUSTOMERS, $email_data);
    $customers_id = $db->Insert_ID();

    //插入客户信息表
    $customers_info['customers_info_id']=$customers_id;
    zen_db_perform(TABLE_CUSTOMERS_INFO, $customers_info);

    //插入地址表
    foreach($book_data as $book){
      $book['customers_id']=$customers_id;
      unset($book['address_book_id']);
      $primary= ($book['primary']==1) ? 1 : 0;
      unset($book['primary'],$book['address_book_id']);

      zen_db_perform(TABLE_ADDRESS_BOOK, $book);
      $books_id = $db->Insert_ID();

      //更新客户表默认地址
      if($primary==1)  $db->Execute("UPDATE ".TABLE_CUSTOMERS." SET customers_default_address_id=".$books_id." WHERE customers_id=".$customers_id);
    }
  }
  echo '导入成功';
  exit;
}
?>
<a href="?toolaction=export">导出</a>
<a href="?toolaction=import">导入</a>

使用方法很简单,只用将文件上传到网站根目录,然后浏览器运行http://xxx.com/customers_populate.php,导出后将cache/customers_data.log转移到另一个站的cache下,然后执行导入
下载地址:链接:http://pan.baidu.com/s/1bnFbOcf 密码:j6w2

未经允许不得转载:外贸商城系统,外贸网站模板,php建站教程,zencart模板 » Zencart如何转移客户资料

分享到:更多 ()

35PHP 更全 更专业 更方便