基本上我可以这样做,它打印出来自表格中的一个字段,但我希望将它们全部放到不同的表格或其他任何地方,我将如何实现这一目标?我把它作为我的保存/加载代码:
// 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'));
}
});
请注意,我知道我还没有save-function / 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字段加载到不同的变量或类似字段中,以便我可以正确使用它们。
答案 0 :(得分:1)
看起来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预处理语句,以避免一些有趣的东西,可能会发生污点输入。
答案 1 :(得分:0)
这可能是一个糟糕的编程习惯,但我会这样做。
while($row = mysqli_fetch_array($query)) {
$return = $row['coins'].",".$row['id'; //separate the send the values as a comma-separated string
echo $return;
}
js看起来像这样
$('#coins').load('ajax/loadData.php?code=' + $.cookie('code')); //collect the values here
var values = $(#coins).text(); //save the values in a srting
var array_of_values = values.split(","); //split the string at a delimiter and save the values in an array
请注意,如果查询返回多行
,则不太可能