// 找到現在的「時間」
$ymdh = date('Y/m/d H');// 用現在的時間找出訂單目前是有幾筆
$findOrderSoFar = mysqli_fetch_array($pdo->query( "SELECT count(public_order_id) as num FROM `order_record`
WHERE FROM_UNIXTIME(add_time, '%Y/%m/%d %H') = '{$ymdh}' "));// 將 $i 直接加入目前幾筆的數量
$i = $findOrderSoFar['num'];// 如果找到零比則從一開始
$findOrderSoFar['num'] == 0 ? $i = 1 : $i = $findOrderSoFar['num'];// 開始迴圈while ($row = mysqli_fetch_array($sql)) { // 設定訂單編號長相
$_SESSION['public_order_id'] = substr(date('YmdH', time()), -8).str_pad($i, 4, '0' ,STR_PAD_LEFT);
// ...
$i ++;
}我目前作法是這樣,但是卻還是會「重復流水號」就是不同使用者同時下訂時仍然會有這情形發生我的邏輯已經死了LOL ..訂單編號格式會是:YYMMDDHH0001YYMMDDHH0002...但是到了下一個小時,就會變回YYMMDDHH0001
添加回答
舉報
0/150
提交
取消