我正在创建浏览器 RPG 游戏。我想允许用户通过更新 mysql 数据库来保存他们当前的统计信息,而不必重新加载页面......所以我认为 jquery 可以提供帮助。
用户不会添加自己的统计数据。统计数据是通过用户操作生成的,例如解决挑战。我希望用户能够随时将这些更新的统计信息保存到数据库中。
问题是:
jQuery 正在输出
echo "saved..."。 $统计。 “,”。 $stats2;
在我点击保存按钮之前。当我点击保存时,数据库字段没有更新。
我想知道为什么这不起作用。当我单击保存时,统计字段不应为 0
,而应为显示的统计信息 - 11
。数据库字段也应更新。
出于测试目的,我刚刚创建了 js 变量 var stats
,它会在按下箭头键时更新。
我调用函数 updateHUD() 来执行 $('#stats').html(stats);
更新 HTML。
function updateHUD() {
$('#stats').html(stats);
}
然后在按下箭头键后调用 updateHUD。
HTML
<div class="span12">
<button onclick="saveData(stats)" name="input" value="">Save Data</button>
<br /><span id="output"></span><br />
<ul>
<li><b>Stats 1:</b> <span id="stats"></span> </li>
</ul>
</div>
jQuery
//Pass saved data to store in DB
$(document).ready(function() {
saveData();
});
function saveData() {
$.get("php/CRUD.php", {"_input" : $('input[name=input]').val()},
function(returned_data) {
$("#output").html(returned_data);
}
);
}
PHP
<?php
//store all player data in array and save to/update db
include 'DbConnect.php';
session_start();
$stats = (isset($_GET['_input']) ? ($_GET['_input']) : 0);
$formvars = array();
array_push($formvars, $stats);
echo $stats;
echo $_SESSION['username'];
$qry = 'UPDATE users SET stats="'.$stats.'" WHERE username="' . $_SESSION['username'] . '"';
$mysqli->query($qry) or die(mysqli_error($mysqli));
echo "saved..." . $stats;
mysqli_close($mysqli);
?>
输出
saved...0 //this should be 11
Stats 1: 11
最佳答案
你做一个
$('input[name=input]').val()
但您已将提交按钮命名为“input”,而不是添加具有此名称的输入框。
但无论如何这个问题都不清楚。
您想授予用户使用他想要的值更新他的统计数据的权限吗?您应该更新问题以使其更清楚,因为目前它没有多大意义。
关于php - 使用Jquery将数据保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20886215/