我希望我的header
因此可以用我的database
中的新值更新。PHP/MySQL/AJAX - 使用AJAX刷新查詢值
爲了實現它,我已經創建了一個AJAX
交方法:
AJAX(編輯):
$(document).ready(function() {
function update() {
$.ajax({
type: "POST",
url: "indextopgame.php",
data: { id: "<?=$_SESSION['user']['id']?>"},
success: function(data) {
$(".full-wrapper").html(data);
}
});
}
setInterval(update, 5000);
});
它應該通過$_SESSION['user']['id']
到indextopgame.php
每10秒。
indextopgame.php
看起來像這樣:
PHP PART(編輯):
<?php
session_start();
$con = new mysqli("localhost","d0man94_eworld","own3d123","d0man94_eworld");
function sql_safe($s)
{
if (get_magic_quotes_gpc())
$s = stripslashes($s);
global $con;
return mysqli_real_escape_string($con, $s);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$id = trim(sql_safe($_POST['id']));
$data = "SELECT username, email, user_role, fbid, googleid, fname, lname, avatar, energy, energymax, health, healthmax, fame, edollar, etoken, companies, workid, city, function FROM members WHERE id = $id";
$result = mysqli_query($con, $data);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$_SESSION['user']['user_role'] = $row["id"];
$_SESSION['user']['fbid'] = $row['fbid'];
$_SESSION['user']['googleid'] = $row['googleid'];
$_SESSION['user']['created'] = $row['created'];
$_SESSION['user']['lastlogin'] = $row['lastlogin'];
$_SESSION['user']['username'] = $row['username'];
$_SESSION['user']['fname'] = $row['fname'];
$_SESSION['user']['lname'] = $row['lname'];
$_SESSION['user']['email'] = $row['email'];
$_SESSION['user']['avatar'] = $row['avatar'];
$_SESSION['user']['energy'] = $row['energy'];
$_SESSION['user']['energymax'] = $row['energymax'];
$_SESSION['user']['health'] = $row['health'];
$_SESSION['user']['healthmax'] = $row['healthmax'];
$_SESSION['user']['fame'] = $row['fame'];
$_SESSION['user']['edollar'] = $row['edollar'];
$_SESSION['user']['etoken'] = $row['etoken'];
$_SESSION['user']['companies'] = $row['companies'];
$_SESSION['user']['workid'] = $row['workid'];
$_SESSION['user']['city'] = $row['city'];
$_SESSION['user']['function'] = $row['function'];
}
echo $_SESSION['user']['energy'];
}
}
?>
不過這不會更新我希望值的頭,而不是它只是使頭消失。這段代碼有什麼問題?也許還有其他更有效的方法來刷新MySQL的值?
編輯:
我已經編輯了AJAX
/PHP
代碼樣本 - 它的工作這樣!但是,我如何迴應所有這些變數?一個接一個的回聲似乎再次導致錯誤,因爲值會從我的標題中消失。
EDIT2:
解決了,我犯了一個愚蠢的錯誤語法...謝謝大家的貢獻!
如果您在成功轉儲數據變量..你有正確的數據嗎? – VikingCode
@Akin實際上會讓我的標題消失rofl –
爲什麼你來回發送會話變量?它已經在服務器上,所以沒有理由將其發送到客戶端並返回到服務器。 – jeroen