2012-04-11 63 views
-1

我正在創建一個電子商務網站,在那裏我想給產品添加一個唯一編號。我想這樣做,它會自動採用這個數字,現在我使用time()函數。有了這個產品可以在添加時獲得時間價值。但是我不知道每次它會給出一個唯一的數字,或者如果任何人體在同一時間添加產品,它可以重複。如何給一個唯一的編號在網站上添加新產品

如果任何機構有任何其他建議給它唯一的編號或ID請告訴我。

將不勝感激。

+4

它們是否存儲在數據庫中?你有沒有使用'auto_increment'列? – alex 2012-04-11 03:56:07

+0

mysql也有UUID(),它有它的用途。 – 2012-04-11 04:02:38

回答

0

使用時間()作爲上面提到的將給你一個可排序的方式來創建唯一的ID。連接字符串還會進一步隨機化您的期望結果並仍然保持其可排序:

$uniqueId= time().mt_rand(); 
3

不要打擾使用time()來唯一命名您的產品。只需使用MySQL auto_increment列,然後如果您需要從數據庫檢索新的ID,請使用PHP的mysql_insert_id()函數(或與您使用的任何數據庫接口相同的函數)。

+0

是我也可以使用unique_id,但是我想給出的產品代碼也是選擇類別時代碼的前綴。就像如果我從選項列表中選擇任何產品類別,該類別代碼將作爲該唯一編號的前綴。所以這個號碼將是這樣的PKT33456762 – 2012-04-11 04:09:17

+0

其中「PKT」是您的類別特定的前綴和「33456762」是一個獨特的自動遞增數字? – 2012-04-11 04:11:54

+0

它在數據庫中的具體時間,只要我從選項列表中選擇類別,它將前綴到由time()函數生成的數字 – 2012-04-11 04:15:05

0

創建具有以下模式的表

create table products 
(
    id int auto_increment primary key, 
    product nvarchar(40), 
    type nvarchar(10), 
    time timestamp default now(), 
    ... 
); 

將數據插入到表中使用

insert into products(product,type) 
values ('JEdit','Editor'),('BlueFish','Compiler'); 

你的表是這樣的

id  product  type  time     ... 
_____________________________________________________ 
1  JEdit  Editor  2012-4-11 10:00:00 
2  BlueFish  Compiler 2012-4-11 11:00:00 
相關問題