يك عدد 10 رقمي

من ميخوام يك فرم ثبت نام داشته باشم كه هر وقت Submit ميشه مشخصات داخل فرم داخل DB ذخيره بشه ( تا اينجا مشكلي نيست ). ميخواهم هنگام Submi يك عدد 10 رقمي هم به صورت خودكار توي ديتابيس ثبت بشه ( بعنوان كد شناسايي فرد ) چطوري بايد اين كار را انجام بدهم ( ميخواهم كدها پشت سر هم باشند )
 

mosi20

Active Member
ایندو تا كد هستش كه شمارهي راندم ميدند .
اول بايد چك كني كه شماره اي كه ميده توي ديتابيست نباشه .بعد اگه نبود اينو توي ديتابيس ذخيره كنه
PHP:
<?php

function keygen($max){

$items = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$x = 1;
$total = strlen($items) - 1;

while($x <= $max){

$rand = rand(0, $total);

$item = substr($items, $rand, 1);
if($x == 1){
$key = $item;
}
elseif($x > 1)
{
$key .= $item;
}
$x++;
}

echo $key;
}
$number = 10;
echo keygen($number);
?>

<?php

$length    = 10;
$key_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$rand_max  = strlen($key_chars) - 1;

for ($i = 0; $i < $length; $i++)
{
   $rand_pos  = rand(0, $rand_max);
   $rand_key[] = $key_chars{$rand_pos};
}

$rand_pass = implode('', $rand_key);

echo $rand_pass;

?>
 
آخرین ویرایش:
mosi20 گفت:
ایندو تا كد هستش كه شمارهي راندم ميدند .
اول بايد چك كني كه شماره اي كه ميده توي ديتابيست نباشه .بعد اگه نبود اينو توي ديتابيس ذخيره كنه
PHP:
<?php

function keygen($max){

$items = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$x = 1;
$total = strlen($items) - 1;

while($x <= $max){

$rand = rand(0, $total);

$item = substr($items, $rand, 1);
if($x == 1){
$key = $item;
}
elseif($x > 1)
{
$key .= $item;
}
$x++;
}

echo $key;
}
$number = 10;
echo keygen($number);
?>

<?php

$length    = 10;
$key_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$rand_max  = strlen($key_chars) - 1;

for ($i = 0; $i < $length; $i++)
{
   $rand_pos  = rand(0, $rand_max);
   $rand_key[] = $key_chars{$rand_pos};
}

$rand_pass = implode('', $rand_key);

echo $rand_pass;

?>


ممنون از پاسخ شما
اما من در آخر صحبتهام عرض كردم ميخوام اين عدد پشت سر هم باشه
به اين صورت

874658784
874658785
874658786
874658787
...
..
.
 

golden

Member
یه سری فیلد از نوع primary داریم که میتونن خصوصیت auto_increment داشتیه باشن.
این یعنی اینکه اصلا لازم نیست در هنگام وارد کردن یک record برای این فیلد به صورت دستی یه عدد در نظر بگیرید بلکه خود mysql یکی به آخری اضافه می کنه و عدد جدید را می سازه.
برای اینکه عدد شما ده رقمی بشه به صورت دستی یه رکورد بسازید که در اون این فیلد با عدد 999999999 پر شده باشه بعد از این همگی عدد های شما ده رقمی خواهد بود
 

جدیدترین ارسال ها

بالا