PDA

View Full Version : ایجاد عدد تصادفی و قرار دادن در دیتابیس



lakset
دوشنبه 24 آذر 1393, 14:05 عصر
من میخوام که یه عدد تصادفی بین 1 تا 10 انتخاب کنم تااینجا مشکلی نیست اما من میخوام چک کنه که اگر این عدد برای کاربر قبلاً ست شده یکی دیگه انتخاب کنه

و یا به صورت دیگه این فیلد من فقط باید اعداد بین 1 و 10 داخلش وارد شه و هیچ عدد تکراری هم داخلش نباشه درکل باید جوری باشه که عدد بین 1 تا 10 انتخاب کنه اگه انتخاب شده بود یکی دیگه انتخاب کنه مرسی






پ.ن :من مشکلی با ساخت عدد رندوم ندارم فقط چونگی بررسی شرط و تعویض عدد برام مهمه مرسی از دوستان

desatir7316
دوشنبه 24 آذر 1393, 15:46 عصر
<?php
$a = 5;
$selected = array(1,2,6);
if(in_array($a, $selected))
echo 'selected';
else
echo 'not selected';
?>

lakset
دوشنبه 24 آذر 1393, 20:37 عصر
سلام خیلی متشکرم اما چطوری زمانی که عدد انتخاب شده بود عددی دیگه انتخاب کنه؟

Mohammadsgh
دوشنبه 24 آذر 1393, 21:48 عصر
تو یک دقیقه همچین چیزی به ذهنم رسید.ببینید کار میکنه؟برای اینکه دادهای تکراری تو فیلدتون ذخیره نشه نوع فیلددیتابیس تون رو unique کنید


$rand=rand(0,10);
$select=mysql_query("SELECT * FROM `table_name` WHERE rand='$rand'");
if (mysql_num_rows($select)>0) {
echo "vojod darad";
}else {
mysql_query("insert code");
}

lakset
سه شنبه 25 آذر 1393, 16:17 عصر
خیلی ممنون از دوستان من به نتایجی رسیدم اما حالا یه مشکل دارم اولاً اینه آیا کد زیر درسته و دوم اینکه چطور خروجی تابع رو تو دیتابیس بریزم ؟


<?php
while($Get_Fields=mysql_fetch_array($Get_Fields_Qu ery)){$F_id[]=$Get_Fields['f_id'];}function Set_fid() {$Value = rand(1,10);a_check($Value);}
function a_check($Value) {$selected = $F_id;if(in_array($Value,$selected)) {return false;Set_fid();}else {return $Value;
} }///// End Function$Field_Name=$_POST[fieldname];$Field_Text=$_POST[fieldtext];$Field_Desc=$_POST[fielddesc];$Field_Type=$_POST[fieldtype];Set_fid();//Call Function
$Sql=mysql_query("Insert into ****** (f_name,f_text,blogid,f_des,f_type,f_id)values('$F ield_Name','$Field_Text','$blogid','$Field_Desc',' $Field_Type','".Set_fid()."')");IF($Sql){
echo"Insert In Database";}else{echo"Error";}
?>

lakset
سه شنبه 25 آذر 1393, 23:41 عصر
دوستان فک نکنم سوال سختی باشه سوال اینه که چطور خروجی یک تابع رو در دیتابیس ذخیره کنم ؟

Mohammadsgh
چهارشنبه 26 آذر 1393, 00:46 صبح
اگر میتونید کد رو واضح تر بنویسید تا بشه خوند

hamedarian2009
چهارشنبه 26 آذر 1393, 10:42 صبح
دوستان فک نکنم سوال سختی باشه سوال اینه که چطور خروجی یک تابع رو در دیتابیس ذخیره کنم ؟
بله اصلا سخت نیست فقط نیاز داره کمی مقدمات برنامه نویسی رو بلد باشین نیاز به یک حلقه do---while دارین به این صورت انجام بدین:

do {

$x = rand(1, 10);
$numbers = array(1,2,3,4,5);

} while(in_array($x, $numbers));

echo $x;
کافیه به جای آرایه numbers$ که من مستقیم مقدار دادم بیای از به دیتابیس وصل بشی و عدد های ذخیره شده داخل اون ستون از جدولت رو فچ کنی و داخل این آرایه قرار بدی
این حلقه انقدر برات عدد تصادفی تولید میکنه تا وقتی که شرط false بشه یعنی عدد تولید شده توی آرایه فچ شده از جدول دیتابیست وجود نداشته باشه و از حلقه میاد بیرون