2016-12-29 46 views
-1

我想自動生成一個登錄ID。邏輯是取用戶的姓氏並追加一個數字(如1,然後2,然後3)。系統也會檢查這個用戶標識是否存在於數據庫中。我已將數據庫數據緩存在局部變量中。如果用戶標識是唯一的,它將被填充到一個文本框中,否則它會附加一個新的數字。但是,如果10個用戶的姓氏相同,則此過程可能會執行10次。任何人都可以爲此提供一個簡單的解決方案。我希望這在JQuery中完成。需要使用jquery自動生成userid的幫助

+0

'我已經將數據庫數據緩存在本地變量中 - 這是一個非常棒的想法,這樣任何人都可以使用瀏覽器查看數據庫數據 - 唯一可能的用途是用於填充文本框的* lazy *方法,否則其餘的代碼將是** javascript **。 –

+0

@JaromandaX好吧,我可以使用ajax從數據庫中獲取數據。這不是問題。我只想知道如何以簡單的方式達到要求。 –

回答

0

讓我們假設John Doe試圖註冊一個帳戶。您需要:

  1. 發送 '李四' 通過AJAX
  2. 後端執行這樣的查詢,找到最大的母鹿*在DB:

    選擇user_id FROM users WHERE surname = '李四' ORDER BY added_ts DESC LIMIT 1

  3. 如果找到了記錄,提取數部分出來的用戶ID,併發送回,如果沒有找到記錄只需發送0回到

  4. 當ajax響應到達時,增加您得到的數字並將其連接到姓氏。

我假設您在查詢中使用某種記錄時間戳(added_ts)。

編輯:@Jaromanda X 8正確指出查詢可能會返回錯誤的結果,它應該是我們需要檢查的surname字段。

+0

'WHERE user_id LIKE'Doe%''太簡單了......如果你有'Doer0'這樣的姓氏......'Doer8'然後Doe會出現 - 他會無緣無故地得到Doe9:p ...那麼'SELECT user_id FROM users WHERE surname ='Doe'ORDER BY added_ts DESC LIMIT 1' instead:p –

+0

我想要一個用jquery寫成的解決方案:( –

+0

@ArpitaDutta這不能在沒有在服務器上完成檢查的情況下完成。步驟1 4個可以是jQuery代碼。另外,請注意,我們在這裏提供幫助,而不是爲您編寫代碼。 –