
zenCart如何生成订单号(前缀+时间+随机数) 详细�0�3
1个回答
展开全部
今天介绍一种将订单号改为前缀+时间+随机数格式 主要看思想 修改方法 1.将orders_id 字段改为VARCHAR 型,这样order_id 可以丌仅仅是数字了,将以下sql 导入数据库 ALTER TABLE `orders` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_products` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_products_attributes` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_products_download` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_status_history` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `orders_total` CHANGE `orders_id` `orders_id` VARCHAR( 64 ) NOT NULL ; 2.打开includes\classes\order.php 查找 function create($zf_ot_modules, $zf_mode = 2) { global $db; 其下增加 $order_prefix=’LN_’; //站群可以作为每个站订单前缀唯一识别符 $order_time=date(‘YmdHis’); //时间 $order_rand=’_’.rand(1000,9000); //随机数 $order_number=$order_prefix.$order_time.$order_rand; 这里时间精确到秒,且加上 4 位随机数,从而保证订单号绝对丌会重复 查找 if ($_SESSION['shipping'] == ‘free_free’) { $this->info['shipping_module_code'] = $_SESSION['shipping']; } 其下的$sql_data_array 增加orders_id 键值内容 $sql_data_array = array( ‘orders_id’ => $order_number, 查找 $insert_id = $db->Insert_ID(); 将其注释删除掉,然后增加 $insert_id =$order_number;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询