2015-12-02 26 views
0

我的情景:導出數據邏輯

我有一個關於導出數據的問題。我有一個PHP腳本運行一個複雜的查詢,需要一些時間來返回數據。

當我得到我呈現給用戶的數據並且他們有能力導出,如果他們想要。

我的邏輯

爲了避免重新運行查詢,當用戶導出我設置由查詢,如果出口用戶點擊腳本返回的數據會話變量構建Excel中的數據集的數據在會話變量中。

我的問題

因爲如果用戶運行不同的報表全部由會話VAR數據保持將只有最後一個,他們跑的數據是在一個會話變量存儲。

在相同的報告中鑽取這種情況。

我的問題

1-其他開發商如何處理這種情況?

2-他們只是重新運行查詢一個用戶點擊導出數據? (無需花費兩倍的時間)

3-爲每個報告設置不同的會話變量? (如果你有100個用戶和20份報告,那麼你將有2000會話變量的情況下,用戶運行的所有報告)

謝謝您的意見。

+0

也許最終你會在你的數據庫有時間戳和唯一標識的查詢創建用戶會話表。最好和最簡單的方法來控制用戶活動並根據會話時間開始確定超時。 – cpugourou

回答