2012-02-29 6 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から値をするでしょう。この

<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> 

のようなあなたの最初の<script>タグ挿入何か上記

: ' idlewait = <?php echo $ idlewait; ?>; ' –

+0

私はcodeigniterに精通していませんが、あなたのJavaScriptに直接PHPを含めることができます。 'idleWait = <?= $ php_variable;?>;'などです。 –

+0

ええ、唯一のことはデータベースから取得する必要があることです。データベースに接続し、javscriptページ自体のタイムアウトを取得する短いphp関数を使用するのが最良の方法であれば、私はそうすることができると思います。それを行うより良い方法があるかどうかだけ考えている。 – ALF

答えて

1

echoを使用して、スクリプトのその時点で値を出力してください。

idleWait = <? echo $timeoutValueRetrievedFromDataBase ?>; 
0

PHPは、標準のJSファイルではほとんど変更を加えずに実行されません。まず、<head>セクションがある.phpファイルを探します。最初の<script>タグを見つけたら、これより前に作業したいと思うでしょう。そうすれば、JSファイルがロードされるときに準備が整う変数を設定することができます。右のあなたは、あなたが疑問に貼り付けるスクリプトに行くと、この

$(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; 
関連する問題