2014-01-04 2 views
0
for($i=0,$ii=1;$i<$_POST['no_of_coupon']; $ii++) { 
    $unique_code=uniqid(); 
    $category_unique_code = substr($unique_code,rand(0,strlen($unique_code) - 6),6); 
    $i++; 
    echo $category_unique_code; 
} 

$_POST['no_of_coupon'] это нет. Напр. если пользователь хочет 1 Lakh код купона или более, т.е. $_POST['no_of_coupon'], весь код вставляется в базу данных и код уникален, но я попытался выше метод, но не единственный, то я попробовал другой методне генерирует уникальный нет для кода купона 6 до 8 цифр для любого нет купона

function gen_random($length=32) 
{ 
    $final_rand=''; 
    for($i=0;$i< $length;$i++) 
    { 
     $final_rand .= rand(0,9); 
    } 
    return $final_rand; 
} 
for($i=0,$ii=1;$i<$_POST['no_of_coupon']; $ii++) { 
      $unique_code=gen_random(6); 
      $category_unique_code = substr($unique_code,rand(0,strlen($unique_code) - 6),6); 
      $i++; 
      echo $category_unique_code; 
} 

Этот метод также не генерирует уникальный код купона, просто не нужно 6 до 8 цифр уникальных не так кто-нибудь есть идеи, чтобы генерировать уникальный номер, пожалуйста, скажи мне

ответ

0

Этот код будет генерировать 8-значный уникальный код купона:

function getUniqueCouponCode() 
{ 
    $filename = 'number.txt'; 
    if (file_exists($filename)) { 
     $actual_number = file_get_contents($filename); 
    } else { 
     $actual_number = 1; 
    } 
    file_put_contents($filename, $actual_number + 1); 
    return str_pad($actual_number, 8, '0', STR_PAD_LEFT); 
} 
-2
Try this to create a 6 or 8 digit unique no: 
    <?php 
     $date=date('y-m-dh:i:s'); 
     echo substr(md5($date),0,6); 
    ?> 
+0

Нет, он не создает уникальную цифру 6 или 8 цифр. Функция 'md5()' возвращает хэш как шестнадцатеричное число из 32 символов, поэтому оно также может возвращать письма. – Edakos

Смежные вопросы