A-A+

如何设置zencart模板产生订单号

2012年09月15日 灵犀一指 如何设置zencart模板产生订单号已关闭评论 阅读 1,053 人 次

按时间加随机数产生订单includesclassesorder.php:

1、把orders字段中orders_id 的 Auto_increment 关闭,并把字段INT改为BIGINT(根据订单位数设置合理类型长度);
2、把以下代码插入到order.php中;
查找:function create($zf_ot_modules, $zf_mode = 2) {
global $db;

插入以下代码:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(方法一:)$t1 = date(“YmdGis”); //时间为年月日时分秒,去掉Gis为年月日,即:$t1=date(“Ymd”);
srand ((float) microtime() * 10000000);
$input = array (“1″, “2″, “3″, “4″, “5″, “6″, “7″, “8″, “9″, “0″);
$rand_keys = array_rand ($input, 2);
$l1 = $input;
$l2 = $input;
$r1 = rand(0,9);

$ordernum = $t1.$l1.$l2.$r1; //顺便把$11.$12去掉以减少订单位数,即:$ordernum=$t1.$r1;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(方法二)可把上面换成:
$t1 = date(“YmdGis”); //为减少重复单的情况,设置为获取时分秒
$r1 = rand(0,9);
$r2 = rand(0,9);
$ordernum = $t1.$r1.$r2;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在这里添加orders_id字段,手工插入:
$sql_data_array = array(‘orders_id’ => $ordernum,

查找:zen_db_perform(TABLE_ORDERS, $sql_data_array);

插入:
/*修改原来的调用自动插入函数为$ordernum变量*/
$insert_id = $ordernum;
完成,获取的订单位数为16位,1-8位为:年月日,9-14位为时分秒,15-16位为随机2位数

评论已关闭!