|
|
|
ขอแนวทางหน่อยค่ะ คือต้องการ แรนดอมตัวเลขไปเก็บใน db ค่ะ |
|
|
|
|
|
|
|
เรื่อง random อะนู๋ ทำได้ตาม ตัวอย่าง https://www.thaicreate.com/php/forum/068829.html นี้ นู๋เข้าใจค่ะ
แต่ว่า โจทคราวนี้ ต้องการให้เป็น ตัวเลขเท่านั้น นู่ก็เลย เอา $positions_code = substr(str_shuffle(time()),-6); มาใช้งาน
มันจะได้เลขออกมา 6 หลัก แต่ความนี้ นู่จะบันทึกใส่ DB แต่อยากตรวจสอบว่า ชุดตัวเลข ที่ ออกมาจาก $positions_code = substr(str_shuffle(time()),-6); ซ้ำในDB หรือป่าว ถ้าซ้ำให้ random ค่าใหม่ แล้วก้ตรวจสอบอีกที่ อะไรประมาณนั้น อะ แต่คิดไม่ออกว่าจะเขียนฟังชั้น อย่างไร พอเข้าใจหรือป่าว ค่ะ
|
|
|
|
|
Date :
2011-12-08 22:57:04 |
By :
JubJib |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หลักการก็คือการ loop เพื่อเอาค่าที่ได้ไปเช็คในฐานข้อมูลครับ....
โดยสร้าง loop มาซ้อนกัน 2 loop โดย loop แรกเป็นการแรนดอมตัวเลขไปเรื่อยๆ จนกว่า loop นี้จะตรวจสอบได้ว่าเลขไม่ซ้ำ
loop ที่ 2 จะเป็นการนำตัวเลขที่ได้จาก loop แรกมาตรวจสอบกับฐานข้อมูลครับ
..............................
ขออภัยที่รายละเอียดได้เพียงเท่านี้ในตอนนี้ครับ เพราะตั้งใจจะอธิบายเยอะกว่านี้แต่ติดงานพอดี... ถ้ามีโอกาสจะกลับมาเพิ่มเติมนะครับ หรืออาจจะแก้ไขปัญหาไปแล้วก็ได้ครับ สู้ๆ
|
ประวัติการแก้ไข 2011-12-09 08:55:06
|
|
|
|
Date :
2011-12-09 08:54:29 |
By :
Songkram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องเขียนเป็นฟังชั่นหรอครับ...
|
|
|
|
|
Date :
2011-12-09 13:29:38 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
function random_password($len)
{
srand((double)microtime()*10000000);
$chars = "0123456789";
$ret_str = "";
$num = strlen($chars);
for($i = 0; $i < $len; $i++)
{
$ret_str.= $chars[rand()%$num];
$ret_str.="";
}
return $ret_str;
}
$intRandom = random_password(6);
echo $intRandom."<br>";
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM tbl_test WHERE pwd = '".trim($intRandom)."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo "already exists!";
}
else
{
$strSQL = "INSERT INTO tbl_test (pwd) VALUES ('".trim($intRandom)."')";
$objQuery = mysql_query($strSQL);
echo "Save Done.";
}
mysql_close();
?>
จาก 2 กระทู้ที่ผมแนะนำให้เข้าไปอ่านอ่ะครับ ก็จะได้ประมาณนี้ครับ พอจะได้ไหมครับ
เผื่อจะมีประโยชน์นะครับ
|
|
|
|
|
Date :
2011-12-09 13:49:52 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|