2016-09-20 26 views
0

所以我正在發票,我希望在我的視圖中,這是收據.php有一個發票號碼:例如0001,這是我將我的tbl_payment作爲主鍵放入的內容,但當我的表仍然爲空時,如何在視圖中獲得自動遞增的ID?第二是我想打印它,但是我的Window.Print()函數有些問題,我在使用CSS設計我的收據,並且儘管我付出了很多努力,但我只能看到黑白,This is the one that you can see in the receiptcodeigniter自動遞增可以在視圖和Javascript中看到的ID Window.Print()函數

and this is what you can see when I print, how does this happen?

+0

除非將其插入表中,否則不會有自動遞增的ID。爲什麼您會允許打印尚未放入持久性存儲的發票?不是一個好主意。 – DFriend

回答

0

我得到了你的意思,這裏是展現Invoice No.可能有更好的方法的方式之一,但這個事情在第一時間走進了我的腦海。

  1. 從數據庫中獲取的最後一個發票號。(你可以從列中獲取MAX)
  2. 您認爲由1(一)增加的ID。
  3. 在需要的地方顯示遞增的ID。

讓我知道你對此的疑問。

---- ---- UPDATE

,最好的辦法還是正確的方法是隻在創建發票後,拿到invoice id

如果按照上述方法進行操作,應該對數據庫進行適當的鎖定以避免數據重複。

因此,爲了保持簡單,您應該在插入後使用invoice_id,否則另一種方法是爲發票字段生成唯一的ID,而不考慮自動遞增ID。

+0

如果在user1通過您的方法獲取ID之後並且該發票實際保存到數據庫user2獲取ID之前該怎麼辦?兩個用戶都將使用相同的發票ID。 – DFriend

+0

是的,我同意,我完全知道這種情況下,數據庫的鎖定應該照顧,如果通過上述方法,我也建議現在,它不是一個正確的方式,但你有任何解決方法好心分享它 – Zeeshan