2012-02-29 99 views
0

我正在使用codeigniter,並且我有一個使用jquery的超時函數。我只需要找到一種方法從應用程序正在使用的數據庫中的字段中獲取數字(int),並將javascript文件中的初始int設置爲它。正如您在代碼''中看到的那樣需要從數據庫表中動態接收。由於它不需要Ajax(不需要實時動態接收數據),我希望儘可能找到更輕的解決方案。在這種情況下最好的做法是什麼?使用mysql初始配置的Javascript/jquery

$(document).ready(function() { 

    idleTimer = null; 
    logoutTimer = null; 
    idleWait = 900000; //15 minutes 
    logoutWait = 30000; //30 sec 
    timeUp = false; 
+0

只輸出從PHP的值:' idlewait = <?php echo $ idlewait; ?>;' – 2012-02-29 03:28:31

+0

我不熟悉笨,但你可以直接在你的JavaScript包括PHP。 '例如,idleWait = <?= $ php_variable;?>;'。 – 2012-02-29 03:30:02

+0

是的,唯一的事情是我必須從數據庫中獲取它。如果有一個連接數據庫的短php函數,並且在javscript頁面中獲取超時值是最好的方法,那麼我想我可以這樣做。只是想知道是否有更好的方法來做到這一點。 – ALF 2012-02-29 03:31:48

回答

1

只需使用echo即可在腳本中輸出該值。

idleWait = <? echo $timeoutValueRetrievedFromDataBase ?>; 
0

PHP將不會在標準的JS文件中運行,沒有太多修改。首先,找到您的<head>部分所在的.php文件。找到第一個<script>標籤,你會在此之前工作。這樣你就可以繼續設置一個變量,當你的JS文件被加載時就會做好準備。

右上面的第一<script>標籤插入這樣的事情

<script> 
<?php 
    //you will need to connect to db here and get your timeout value from the database 
    //we assume $timeout has the correct value in it 
    echo "var phpTimeout = $timeout;" 
?> 
</script> 

然後你會進入你粘貼到問題的劇本,併爲此

$(document).ready(function() { 

    idleTimer = null; 
    logoutTimer = null; 
    idleWait = phpTimeout; //this is the variable we set earlier in the <head> of the document 
    logoutWait = 30000; //30 sec 
    timeUp = false;