很久没给大家分享点有用的东西了,今天抽空写了一个zencart客户资料转移合并工具,感觉还是有点用的,就分享给大家
主要的用途就是就一个zencart网站的客户全部迁移到另一个网站
12 | header( 'Content-Type:text/html;charset=UTF-8' ); |
13 | require ( 'includes/application_top.php' ); |
15 | function ez_get_customers_books( $customers_id , $customers_default_address_id ){ |
18 | $books = $db ->Execute( "SELECT * FROM " .TABLE_ADDRESS_BOOK. " WHERE customers_id=" . $customers_id ); |
20 | $books ->fields[ 'primary' ] = ( $books ->fields[ 'address_book_id' ]== $customers_default_address_id ) ? 1 : 0; |
21 | $books_data []= $books ->fields; |
27 | function ez_get_customers_info( $customers_id ){ |
29 | $customers_info = $db ->Execute( "SELECT * FROM " .TABLE_CUSTOMERS_INFO. " WHERE customers_info_id=" . $customers_id ); |
30 | unset( $customers_info ->fields[ 'customers_info_id' ]); |
31 | return $customers_info ->fields; |
34 | $customers_data = array (); |
37 | if ( $_GET [ 'toolaction' ]== 'export' ){ |
38 | $customers = $db ->Execute( "SELECT * FROM " .TABLE_CUSTOMERS); |
40 | while (! $customers ->EOF){ |
41 | $customers ->fields[ 'books' ]=ez_get_customers_books( $customers ->fields[ 'customers_id' ], $customers ->fields[ 'customers_default_address_id' ]); |
42 | $customers ->fields[ 'customers_info' ]=ez_get_customers_info( $customers ->fields[ 'customers_id' ]); |
43 | $customers_data [ $customers ->fields[ 'customers_email_address' ]]= $customers ->fields; |
44 | $customers ->MoveNext(); |
46 | file_put_contents (DIR_FS_SQL_CACHE. '/customers_data.log' , json_encode( $customers_data )); |
52 | if ( $_GET [ 'toolaction' ]== 'import' ){ |
53 | if (! file_exists (DIR_FS_SQL_CACHE. '/customers_data.log' )) { echo '客户资料文件不存在' ; die ;} |
54 | $customers_data_json = file_get_contents (DIR_FS_SQL_CACHE. '/customers_data.log' ); |
55 | $customers_data =json_decode( $customers_data_json ,true); |
56 | foreach ( $customers_data as $email_address => $email_data ){ |
58 | $check_email_query = "select count (*) as total |
59 | from " . TABLE_CUSTOMERS . " |
60 | where customers_email_address = '" . $email_address . "' "; |
61 | $check_email = $db ->Execute( $check_email_query ); |
62 | if ( $check_email ->fields[ 'total' ] > 0) continue ; |
64 | $book_data = $email_data [ 'books' ]; |
65 | $customers_info = $email_data [ 'customers_info' ]; |
67 | unset( $email_data [ 'books' ], $email_data [ 'customers_id' ], $email_data [ 'customers_info' ]); |
70 | zen_db_perform(TABLE_CUSTOMERS, $email_data ); |
71 | $customers_id = $db ->Insert_ID(); |
74 | $customers_info [ 'customers_info_id' ]= $customers_id ; |
75 | zen_db_perform(TABLE_CUSTOMERS_INFO, $customers_info ); |
78 | foreach ( $book_data as $book ){ |
79 | $book [ 'customers_id' ]= $customers_id ; |
80 | unset( $book [ 'address_book_id' ]); |
81 | $primary = ( $book [ 'primary' ]==1) ? 1 : 0; |
82 | unset( $book [ 'primary' ], $book [ 'address_book_id' ]); |
84 | zen_db_perform(TABLE_ADDRESS_BOOK, $book ); |
85 | $books_id = $db ->Insert_ID(); |
88 | if ( $primary ==1) $db ->Execute( "UPDATE " .TABLE_CUSTOMERS. " SET customers_default_address_id=" . $books_id . " WHERE customers_id=" . $customers_id ); |
95 | <a href= "?toolaction=export" >导出</a> |
96 | <a href= "?toolaction=import" >导入</a> |
使用方法很简单,只用将文件上传到网站根目录,然后浏览器运行http://xxx.com/customers_populate.php,导出后将cache/customers_data.log转移到另一个站的cache下,然后执行导入
相关日志:
评论 共3条 (RSS 2.0) 发表评论
厉害,什么时候也能弄出OPENCART 的客户资料转移?
有没有magento的分享一下 谢谢
产品包含reverse camera,rear view cameras,car dvd player