2014-04-27 75 views
0

好傢伙,我需要你的幫助,請在PHP中生成潮頭regestration代碼

IAM創建的數據存儲到MySQL數據庫和每一件事情是好的,現在講一個形式。

我需要爲每個成員生成一個代碼,填寫這個代碼我需要它是這樣的形式(SUD001)我希望它是唯一的和自動增加一個我的意思是第一個填寫表單獲取代碼( SUD001)第二個獲得(SUD002)線程(SUD003)等。

我需要的是一種方法來做到這一點,然後插入代碼到MySQL數據庫,我沒有問題,將其插入到數據庫中,但我需要一個函數或方法來發電機密封它。

,我現在找到的辦法是那樣做

<?php 

$id_num = "SUD"; 
    for ($i = 0; $i < 4; $i++) { 
    $id_num .= rand (0, 5); 
    } 
    echo $id_num; 
    ?> 

但這產生的隨機數和IAM不知道,甚至是唯一的或者沒有任何一個

可以幫我請

+0

請參考這裏http://stackoverflow.com/questions/22345419/generating-unique-order-number/22345554#22345554 – Baig

+0

這不是一個論壇,請在你的問題中使用適當的標點符號和大小寫。 –

回答

0

你可以做

$id = uniqid('SUD'); 
+0

這對於用戶進入某個地方來說相當漫長。 – Sherlock

0

這裏的技巧是recursion

步驟:

  • 在指定的MySQL表的唯一約束創建一個域。
  • 寫一個函數'generateCode'來生成(足夠長的)代碼。 *
  • 編寫獲取代碼和試圖在數據庫中輸入它的功能。
  • 獲取最終違反唯一約束和重複步驟2的過程,直到成功爲止。

*)請務必使用足夠長的代碼來支持未來幾年的應用程序。 6位數字或者阿爾法和數字的組合最有可能就足夠了。

+0

這不是我真正想要的:S – user3578132