[請益] php date函數問題

看板PHP作者 (OHOHYES)時間16年前 (2009/08/20 11:47), 編輯推噓3(3015)
留言18則, 4人參與, 最新討論串1/1
做了一個php程式 可以自動產生表單編號 例如今天建立的第一筆表單編號是0980820001,第二筆是0980820002 最後3碼在開建立新表單時會+1。 但有時候隔一天在建立表單的時候,日期編號卻停留在昨天的最後一筆編號 這種情況不是常常有,但發生的時候,重開機就恢復正常 我猜想是系統處理date函數時,發生的問題 程式碼如下: $SS_id='A'.str_pad(date("Y")-1911,3,'0',STR_PAD_LEFT).date("md"); $str="select ATable_ID from atable where ATable_ID like '".$SS_id."%' order by ATable_ID desc limit 0,1"; //搜尋今日最新一筆的資料 $showtableid=mysql_query($str,$link); if($showtableid)//如果今天已經有建過檔 { list($ATable_ID)=mysql_fetch_row($showtableid); $SS_id_num=substr($ATable_ID,-2,3)+1;//最後一筆id+1 $SS_id=$SS_id.str_pad($SS_id_num,3,'0',STR_PAD_LEFT); //不滿兩位補0 } else//今天無建過檔 { $SS_id=$SS_id."001"; } 請問各位板友 這是什麼問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.153.140

08/20 11:56, , 1F
Server的時間跑掉?
08/20 11:56, 1F

08/20 15:07, , 2F
有檢查過時間是正確的
08/20 15:07, 2F

08/20 18:46, , 3F
1點多進入畫面,12點多才送出呢?
08/20 18:46, 3F

08/20 18:46, , 4F
11點
08/20 18:46, 4F

08/20 19:36, , 5F
這應該是要進資料庫的時候才產生吧
08/20 19:36, 5F

08/20 19:37, , 6F
不然一個人還沒送出 另一個人又來填表
08/20 19:37, 6F

08/20 19:37, , 7F
這樣理個人拿到的編號不就一樣了
08/20 19:37, 7F

08/20 19:37, , 8F
08/20 19:37, 8F

08/20 23:29, , 9F
是今天要開單 產生的竟然還是昨天的日期+編號
08/20 23:29, 9F

08/20 23:30, , 10F
如果沒有重開機 今天所開的所有單字 都是昨天的編號
08/20 23:30, 10F

08/20 23:30, , 11F
開始算
08/20 23:30, 11F

08/20 23:30, , 12F
08/20 23:30, 12F

08/20 23:32, , 13F
arrack大 您指的是晚上11點然後半夜12點多送出嗎?
08/20 23:32, 13F

08/20 23:33, , 14F
我每次都是白天操作系統 所以沒有這個情況
08/20 23:33, 14F

08/21 00:55, , 15F
你應該先把SQL印出來,直接丟到MYSQL中執行看看
08/21 00:55, 15F

08/21 00:55, , 16F
這樣才能判斷是哪個問題
08/21 00:55, 16F

08/21 00:58, , 17F
看起來是透過PHP處理日期的,有問題的當下,印初
08/21 00:58, 17F

08/21 00:59, , 18F
date("Y-m-d H:i:s"),就知道了,總覺得是時區的問題
08/21 00:59, 18F
文章代碼(AID): #1AZCTaJt (PHP)
文章代碼(AID): #1AZCTaJt (PHP)