導航:首頁 > 編程語言 > php不重復訂單號

php不重復訂單號

發布時間:2022-08-28 11:39:33

1. 求php語言隨機自動生成不重復的數字

//$count 隨機碼長度
function mrand($count){
$code = '';

for($i=0;$i<$count;$i++){
$code .= mt_rand(0,9);

}

return $code;

}
你還可以在這基礎上擴展,變成還可以選擇隨機碼類型
//生成不重復數字
function gettmp($count){
$temp = aray();

$code = mrand(3);
$i = 0;

while($i < $count){
if(!in_array($code,$temp)){
$temp[] = $code;

$i = $i + 1;

}
}
return $temp;
}

2. php如何生成不重復的流水號

拿txt/xml/sqlite/mysql 存 day number

然後獲取的時候, 如果day不為今天, 則number重置, 再寫入day為今天,否則number++

3. 請教PHP如何自動遞增流水號不重復。

再提交頁面先選取上一次的值,然後+1,再寫進資料庫...

或者再資料庫中把該項設置為自動編號.

4. php 怎麼查詢某個欄位不重復的記錄

select
distinct
name
from
table
打開不重復記錄的單個欄位
select
*
from
table
where
fid
in(Select
min(fid)
FROM
table
group
by
name)
打開不重復記錄的所有欄位值
select
*
from
table
where
name
in(select
name
from
table
group
by
name
having
count(name)=1)
打開不重復任意次數的所有記錄

5. php生成唯一訂單號 時間戳可以嗎

可以,但是最好是毫秒級的時間戳,,防止並發的情況

6. PHP產生不重復隨機數的5個方法總結

無論是Web應用,還是WAP或者移動應用,隨機數都有其用武之地。在最近接觸的幾個小項目中,我也經常需要和隨機數或者隨機數組打交道,所以,對於PHP如何產生不重復隨機數常用的幾種方法小結一下(ps:方法1、4、5是我常用的,其餘來自網路整理)
方法一:
復制代碼
代碼如下:
<?php
$numbers
=
range
(1,50);
//shuffle
將數組順序隨即打亂
shuffle
($numbers);
//array_slice
取該數組中的某一段
$num=6;
$result
=
array_slice($numbers,0,$num);
print_r($result);
?>
方法二:
復制代碼
代碼如下:
<?php
$numbers
=
range
(1,20);
//播下隨機數發生器種子,可有可無,測試後對結果沒有影響
srand
((float)microtime()*1000000);
shuffle
($numbers);
//跳過list第一個值(保存的是索引)
while
(list(,
$number)
=
each
($numbers))
{
echo
"$number
";
}
?>
方法三:
復制代碼
代碼如下:
<?php
function
NoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array);//調用現成的數組隨機排列函數
return
array_slice($rand_array,0,$limit);//截取前$limit個
}
print_r(NoRand());
?>

上述可以在1-20間隨機產生5個不重復的值
方法四:
復制代碼
代碼如下:
<?php
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>
方法五:
復制代碼
代碼如下:
<?php
$tmp
=
range(1,30);
print_r(array_rand($tmp,10));
?>
這個可能是比叫簡單的了(ps:如果在range中指定了步長,就必須注意array_rand的第二個參數是否超出$tmp的長度)。
PHP提供非常豐富的數組函數,產生隨機數大多可以從數組這個角度出發,若你還有方法提供,歡迎給出,文章將持續更新。

7. php如何生成訂單號

echo date('ymdHis').rand(1000,2000);這樣也有重復的幾率,但是很小。如果想更低就用微秒同一微秒然後隨機1000-2000的幾率就更小了

8. 求php頁面不重復提交和不重復插入數據的解決辦法

<?php
session_start();
$id_lucky=$_POST['id_lucky'];
$customer=$_POST['customer'];
$prize=$_POST['prize'];
$hide=$_POST['hidden'];
//var_mp($_SESSION);
if($hide==$_SESSION['conn'])//你這里判斷的session是什麼時候存入session的
{
$sql=mysql_query("insertinto"._DB_PREFIX_."luckdraw(customer,prize)values('$customer','$prize')");
//你這里沒有判斷你應該在這里判斷一下mysql_query是否執行成功執行sql成功是提交成功否則是失敗建議你使用var_mp($sql)列印$sql看看$sql是什麼數據類型
if($sql){
echo"親,提交成功了哦";
}else{
echo'失敗';
}

}else
{
echo"<script>returnfalse;</script>";
}
session_destroy();

9. php隨機生成資料庫中不存在、不重復數字

說下思路:

1. 將生成的數字保存到mysql資料庫,然後每次生成的號碼不能與資料庫的數字重復,請問怎麼弄?

先讀取資料庫已存在的數字,將結果以數組格式,與rand(1,1000)的數組相比較計算差集,去除這部分數字(array_diff),再shuffle,得到新的隨機數。

我覺得,你完全可以建立一個序號表,比如,1-1000,每次用時先用隨機函數取(1-數據記錄數)個數值,再用這個數值取得相應的記錄,當取出之後,刪除這個記錄,這樣保證記錄總數一直會減少且數字也不會重復。

2. 有沒有什麼辦法生成的時候先生成一位數的,一位數生成滿了以後再生出兩位數的,兩位數滿瞭然後再三位數的,以此類推?

先獲取一位數的記錄,再從中隨機抽取一個,如果資料庫中沒有找到一位數的,就遞增一位數,直到找到為止。

3. 代碼的執行效率希望能越高越好!

如果想要代碼執行效率,最好盡量減少與資料庫的交互。

閱讀全文

與php不重復訂單號相關的資料

熱點內容
脈脈app干什麼用的 瀏覽:357
拽姐是哪個app 瀏覽:858
雲伺服器刪除了還有嗎 瀏覽:232
macbook可以用單片機嘛 瀏覽:307
南陽php招聘 瀏覽:814
去哪裡找按摩師很漂亮的app 瀏覽:818
86x99用簡便演算法計算 瀏覽:830
php截圖flash 瀏覽:274
卸載聯想app哪個好 瀏覽:720
php文字轉圖片 瀏覽:332
豆客後台怎麼加密碼 瀏覽:575
jpg轉換pdf破解版 瀏覽:978
php基礎書籍推薦 瀏覽:779
伺服器與外網不通如何驗證 瀏覽:353
電子版是不是就是文件夾 瀏覽:51
游戲屬性文件加密 瀏覽:464
如何讓安卓手機桌面圖標下移 瀏覽:530
ubuntuphp5環境搭建 瀏覽:101
賭癮解壓視頻 瀏覽:919
晉城移動dns伺服器地址 瀏覽:296