我有大約100個提示,需要在網站上隨機顯示,每天提示不同提示,並且無法訪問數據庫。我曾考慮將提示放入數組中,並將每個組與每個月的某一天相關聯,但這不會使提示隨機出現。什麼是完成這項任務的相對無痛的方法?顯示每日提示,無數據庫
1
A
回答
1
由於要顯示每天只有一個提示,你不能存儲任何狀態,你可以做到以下幾點:
- 排序使用一些確定性方法的提示。
- 在今天的日期播種一個隨機數發生器。
- 顯示
i
個尖端其中i = random.Next(numTips)
- 重複這整個過程中(包括再接種的隨機數生成器),每個時間。
如果你也想確保每個尖端顯示至少一次重複前一個提示:
- 種子隨機數發生器具有恆定值(不當前的時間,這是重要)。
使用您創建的非隨機數生成器將元素與Fisher-Yates混洗。或者使用LINQ:
tips.OrderBy(x => random.Next()).ToArray();
- 顯示
i
日尖國防部tips.Length
其中i
是紀元以來的天數。
0
選取一個介於1和100之間的隨機數字,顯示該提示。
如果您可以獲得磁盤上的提示,請將其命名爲文件1.tip至100.tip,然後選擇您的電話號碼,然後閱讀並顯示該文件。
如果你有內存中的提示(一個數組最簡單),只顯示你的隨機數指向的提示,減去一個(假設你有從零開始的數組索引)。
除非我在這裏錯過了一些基本的東西,這是基本的要點。
+0
我在考慮這些方面,但是提示需要顯示一天,即重新加載頁面**今天**不會改變顯示的提示,僅顯示明天等。 – Alex 2011-02-07 23:02:19
0
在您的提示顯示文件中有一個函數,它檢查會話開始部分中的日期。讓日期檢查器計算一年中的哪一天 - 第1天,2 3,... 100天。
根據年度日計數選擇提示文件。如果大於100,重新啓動爲1.
相關問題
- 1. 導入數據庫和顯示每日提示的選項
- 2. 顯示每個數據從數據庫
- 3. 顯示一條消息,每當它發現無數據時提取數據庫
- 4. SQL數據庫:顯示每個篩選
- 5. 顯示數據庫中的日期PHP
- 6. 顯示數據庫
- 7. 誰提供無線顯示的數據?
- 8. MVC中的自定義工具提示 - 每行顯示數據
- 9. AmCharts每週數據顯示
- 10. 無法在Fullcalendar上顯示數據庫
- 11. 無法顯示數據庫記錄
- 12. 無法顯示不同的數據庫
- 13. 無法在ListView中顯示數據庫
- 14. 無法顯示從Nvarbinary [MAX]數據庫
- 15. 提交不顯示數據
- 16. 限制每日提交到數據庫
- 17. intro.js顯示和隱藏數據提示
- 18. Angularjs工具提示顯示數據
- 19. 總是顯示數據提示
- 20. 每月顯示mysql日曆
- 21. 最佳方法 - 顯示隱藏數據庫反饋提示
- 22. Concrete5顯示數據庫值
- 23. 顯示數據庫值
- 24. 顯示從數據庫表
- 25. 顯示數據庫列值
- 26. 顯示數據庫摘錄
- 27. 顯示,並從數據庫
- 28. 數據庫顯示錯誤
- 29. 顯示從mysql數據庫
- 30. 數據庫值顯示NULL
我認爲這是我正在尋找的解決方案,謝謝! – Alex 2011-02-08 03:23:22