2012-04-11 2 views
-1

私は電子商取引のウェブサイトを作成しています。追加中に商品に固有の番号を付けたいと思います。私はtime()関数を使用して、これが自動的に現在の番号になります。これにより、製品は追加中に時間値を取得します。しかし、私は時間の関数でそれがユニークな数を与えるたびに知っていないか、または任意のボディが同じ時間に製品を追加した場合にも繰り返すことができます。ウェブサイトに新商品を追加するためのユニークな番号を与える方法

体に固有の番号またはIDを与える他の提案がある場合は、plsに教えてください。

返信いただければ幸いです。

+4

これらはデータベースに保存されていますか? 'auto_increment'カラムを使ったことがありますか? – alex

+0

mysqlにはUUID()もあります。 –

答えて

0

ようになります。)として一意のIDを作成するソート可能な方法を提供します。文字列を連結すると、結果がさらにランダム化され、ソート可能になります。

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

time()を使用して商品を一意に指定しないでください。 MySQL auto_incrementカラムを使用し、データベースから新しいIDを取得する必要がある場合は、PHPのmysql_insert_id()関数(または使用しているデータベースインターフェイスに相当するもの)を使用してください。

+0

ys私もunique_idを使うことができますが、数字を使ってカテゴリを選択しているときにコードの接頭辞となる製品コードも与えたいと思います。オプションリストから任意の商品カテゴリを選択すると、そのカテゴリコードがその一意の番号のプレフィックスになります。番号はこのようになりますPKT33456762 –

+0

"PKT"はカテゴリ固有の接頭辞で、 "33456762"は一意の自動増分番号です。 –

+0

私はオプションリストからカテゴリを選択するたびに、データベース内の特定のものを指定します。これは、time()関数によって生成された数値 –

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 
関連する問題