基本上我可以这样做,它会打印出例如表中的一个字段,但我想将它们全部打印到不同的表或其他什么中,我将如何实现这一点?我将其作为我的保存/加载代码:
// Save/Load data.
$('').ready(function() {
if($.cookie('code')) {
$.ajax({
type: "POST",
url: "ajax/loadData.php",
data: "code=" + $.cookie('code'),
dataType: "json"
success: function() {
var json = $.parseJSON();
var coins = json.coins;
var lvl = json.lvl;
$('#test').html('lvl: ' + lvl + ' coins: ' + coins);
}
});
console.log('Loaded data from the database with the code ' + $.cookie('code'));
} else {
// Generate save&load-code
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 64;
var randomCode = '';
for(var i = 0; i < string_length; i++) {
var num = Math.floor(Math.random() * chars.length);
randomCode += chars.substring(num, num+1);
}
// Save code in cookies & database
$.cookie('code', randomCode);
console.log('Generated and saved code ' + $.cookie('code'));
}
});
请注意,我确实知道我还没有保存功能/ajax,但我现在正在研究加载功能。
这是我的 loadData.php 文件:
<?php
include '../inc/_db.php';
$code = $_GET['code'];
$query = mysqli_query($db, "SELECT * FROM data WHERE code='$code'");
while($row = mysqli_fetch_array($query)) {
echo $row['coins'];
}
?>
很简单,是的。这会打印出属于特定用户的硬币数量。这是表结构:
我如何将硬币和lvl字段加载到不同的变量或类似变量中,以便我可以正确使用它们。
最佳答案
看起来 Joroen 帮助你解决了 ajax 方面的问题,希望你添加了他正在谈论的逗号。 php/mysqli部分可以这样写:
<?php
include '../inc/_db.php';
$code = $_GET['code'];
$query = mysqli_query($db, "SELECT * FROM data WHERE code='$code'");
$row = mysqli_fetch_array($query));
print json_encode($row);
?>
实际上,这段代码很可怕,因为您没有清理任何传入数据并直接在 SQL 语句中使用它。由于您已经知道它只允许 A-Za-z0-9 字符,因此您应该检查 $_GET['code'] 的值以确保它可以安全使用。我还强烈建议使用 mysqli 准备好的语句来避免受污染的输入可能发生的一些有趣的事情。
关于javascript - jQuery - 从数据库加载信息到不同的变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25633914/