2015-10-15 75 views
1

所以我在MYSQL表中的數字還在使用功能在屏幕上顯示:如何調用PHP函數來從MySQL獲得更新的數據與jQuery

function getWinNumber($db) { 

    $user = getProfileInfoFor($_SESSION['id'], $db); 

    $winNumber = $user->number; 

    return $winNumber; 
} 

該值改變一些用戶行爲,然後進行在數據庫中,我想更新了它的前端時,他們關閉了基礎模式:

$(document).on('close.fndtn.reveal', '#ex6-4', function() { 

     $('.number').html("<?php echo getWinNumber($db);?>"); 

    }); 

的問題是,即使代碼工作,我可以在數據庫中清楚地看到,該值已更改在我結束模態之前,被拉的價值仍然是舊的。這是爲什麼?

如果我把其他東西放在那兒,如:

$(document).on('close.fndtn.reveal', '#ex6-4', function() { 

     $('.number').html("test"); 

    }); 

它的工作原理。它會在我關閉模式時更新。

+1

PHP處理服務器端,所以在JavaScript的不斷進入到客戶。你需要AJAX。搜索一個教程,並從那裏去。 –

+0

您確定數據庫中的值更改嗎?你的代碼更新數據庫在哪裏? –

+0

@EdCottrell謝謝你。 Idk我在想什麼。它與AJAX完美配合。 – Tratto

回答

0

我結束了AJAX這樣做,它的工作:

$(document).on('close.fndtn.reveal', '#ex6-4', function() { 

     $.ajax({ url: 'include/update.php', 
      data: {action: 'update'}, 
      type: 'post', 
      success: function(output) { 

         $('.encrypted').html(output); 
        } 
     }); 
    }); 

,爲PHP:

if(isset($_POST['action']) && !empty($_POST['action'])) { 

    $action = $_POST['action']; 
    if ($action == 'update') { 

     echo getWinNumber($db); 
    } 
}