[請益] 請問關於不重複編號
我的需求為用戶端送出一個表單時
編號為 920904001,若重複,則取該欄位最大值+1
9為固定號碼,2為西元年最後一碼,0904為日期,001是流水編
為了不重複,參考網路作法
1、變數C預設值是當天的001
2、假設經比對 變數 total不等於0,也就是裡頭已經有該編號
3、那麼就取最大值+1
我的問題是
問題1:為什麼多人使用時還是會重複編號??
問題1-1:重複的編號我觀察結果發現,重複的編號都是我自己輸入資料編號的最大值,不是整個資料庫的
問題2:整個網頁重新整理以後就好了
我該如處理??以下是我的程式碼
form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST">
<?php
$A = date("md") ;//變數A:9開頭加上帶零的月、日
$B = substr(date('Y'),3,1);//變數B:取西元年第3個字元後1碼
$C = Sprintf("9$B$A%s",'001') ; //變數B前加9,變數A後加001
?>
<?php
mysql_select_db($database_AdvList, $AdvList);
$sql = mysql_query("SELECT * FROM advlist WHERE advID=$C ORDER BY advID DESC");//找欄位內是否已經有$C的編號
$total = mysql_num_rows($sql); //用mysql_num_rows將$sql查詢筆數傳至$total
$advlist = mysql_query("SELECT * FROM advlist ORDER BY advID DESC"); //由大到小列出ID欄位內的值
$Num = mysql_result($advlist,0,advID);
if($total==0){$C=$C;}//記得echo 後面要加;,$total=0代表沒有該編號,不等於但表有
else{$C=$Num+1;}//不等於0的話,則$Num等於adblist裡ID最大值
?>
新手發問請多指教~謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.100.98
推
09/04 21:06, , 1F
09/04 21:06, 1F
推
09/04 21:38, , 2F
09/04 21:38, 2F
→
09/04 21:39, , 3F
09/04 21:39, 3F
→
09/04 21:42, , 4F
09/04 21:42, 4F
→
09/04 21:43, , 5F
09/04 21:43, 5F
→
09/05 01:48, , 6F
09/05 01:48, 6F
→
09/05 02:34, , 7F
09/05 02:34, 7F
→
09/05 02:35, , 8F
09/05 02:35, 8F
→
09/05 02:36, , 9F
09/05 02:36, 9F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章