2011-03-04 131 views
1

我從來沒有使用條形碼,現在我必須設計一個帶有條形碼支持的整個應用程序。我想知道我可以使用哪種類型的條碼,我怎樣才能讓條碼字符串是唯一的,我將如何將它存儲在MySQL中。在數據庫中存儲/生成條形碼字符串(mysql)

我在想如何生成一些條形碼字符串並將它們打印到貼紙上,以便我的客戶可以使用它們。我正在考慮在php/mysql中生成部分,然後準備打印(以pdf格式呈現)。假設我生成了100個字符串並將它們存儲到數據庫,並且下一次我想生成另一個必須是唯一的200個字符串。

我甚至不知道從哪裏開始字符串。我可以在條形碼字符串中存儲哪些信息?

我可以這樣做:XXX-ZZZZZ-YYYY-autincrementID?

其中XXX是國家ID,ZZZZZ是客戶端ID,YYYY是條形碼字符串ID。我應該爲我的主鍵使用代理鍵還是應該將它們拆分爲多個表?

我有沒有提到所有autoincrementID都應該從1開始爲每個客戶:)我sooooo所有這一切都困惑。

謝謝

回答

0

條形碼只是一種打印和/或讀取字符串的方法。它涉及

  1. 特殊的字體,
  2. 一些計算(用於校驗位)

你的第一步應該是確定您需要支持至極條形碼。許多製造條碼打印機和讀取器的公司也提供了一些幫助。

我發現一些很好的幫助here,包括免費的字體。這是一個法國網站,但有幾件事情可以用英文。

+0

我在想EAN 128,它似乎是文檔歸檔應用程序的最佳選擇 – mojeime 2011-03-04 13:19:48

1

首先決定要使用的條形碼格式。

然後檢查是否有一個PHP實現在那裏(將有大多數 - 如果不是全部 - 條碼格式)。

一個基本的例子(使用PEAR Image_Barcode)可以在Using barcodes in your web application找到。

您只需將文本存儲在數據庫中,並且可以使用Image_Barcode類(它支持Code 39,Code 128,EAN 13,INT 25,PostNet和UPCA)生成相應的圖像。

我曾經寫過一個創建EAN 13條形碼的應用程序,不記得我使用的是哪個庫(我會在家中檢查是否可以找到源代碼)。

0

我們需要分離一些問題。

首先是打印任何給定的字符串作爲條形碼的行爲。其他答案討論如何做到這一點。

另一個動作與條形碼無關,是關於數據庫設計的。你的例子表明條形碼將是值的組合。但是,如果我認爲更大的應用程序尚未明確闡述,我會明白(如果我錯了,請糾正我)。因此,無論您現在爲獨特代碼創建什麼樣的「遊戲」表格 - 都可以創建您想要的任何內容。當你知道什麼值必須打印爲條形碼時,那麼我們就進入了一個數據庫設計問題。

相關問題