所以我试图进入MySQL表并绘制一个值。我有以下PHP这样做:
<!DOCTYPE html>
<html>
<body>
<?php
$username = strval($_GET['userName']);
$con = mysqli_connect('localhost','PRIVATE','PRIVATE','PRIVATE');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
} else {
$sql="SELECT * FROM users WHERE username = '".$username."'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
$wealth = $row['wealth'];
echo $wealth;
}
}
mysqli_close($con);
//return $wealth;
?></body>
</html>
出于安全原因,我将PRIVATE放在数据库ID和密码的位置。从本质上讲,这个PHP从“财富”中获取价值。列根据登录用户。我有这个AJAX函数触发这个PHP(ajax位于我希望发送PHP变量的文档内)。请注意,此功能会发送当前登录用户的用户名及其分数&#39; (var的点击)到PHP。
function sendScore() {
$.post("sendScore.php",{username:localStorage.getItem('userName'),wealth:clicks},function(response){
console.log("The service replied"+response);
});
}
现在,我知道我检索的值等于PHP变量$ wealth。我也明白PHP是基于服务器的,Javascript / html是基于客户端的,所以你不能简单地进入另一个文档并找到变量的值。我想将$ wealth的值分配给名为:userWealth
的javascript变量感谢阅读!
编辑:我说错了......
@Ilan Kleiman小问题...我有两个单独的PHP文件,sendScore和getScore。我错误地在问题中贴错了。所以,我有一个你可以在问题中看到的sendScore AJAX,但这会触发一个不同的PHP代码,这个代码不会在上面显示,它基本上写入了财富&#39;柱。我有一个单独的PHP片段,如上所示,用于从财富列中检索书面信息(比如cookie点击器如何保存关闭标签时的点击次数,当您打开网站备份时,此代码会激活再次,它将最后写入的值加载到财富中。我正在研究如何创建一个AJAX,它可以将代码生成的$ wealth PHP变量转换为javascript变量。对不起,感到困惑。
编辑#2:代码
AJAX for SENDSCORE
$.post("sendScore.php",{username:localStorage.getItem('userName'),wealth:clicks},function(response){
console.log(&#34;服务回复&#34; +响应); });
PHP for SENDSCORE
<!DOCTYPE html>
<html>
<body>
<?php
$username = strval($_POST['username']);
$wealth = strval($_POST['wealth']);
$con = mysqli_connect('localhost','PRIV','PRIV','PRIV');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
} else {
$sql = "UPDATE users SET wealth=".$wealth." WHERE username='".$username."'";
$result = mysqli_query($con,$sql);
}
mysqli_close($con);
?></body>
</html>
AJAX for GETSCORE是我在寻找什么
PHP for GETSCORE
<!DOCTYPE html>
<html>
<body>
<?php
$username = strval($_GET['userName']);
$con = mysqli_connect('localhost','PRIV','PRIV','PRIV');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
} else {
$sql="SELECT * FROM users WHERE username = '".$username."'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
$wealth = $row['wealth'];
echo $wealth;
}
}
mysqli_close($con);
//return $wealth;
?></body>
</html>
答案 0 :(得分:0)
在您的PHP文件中:
变化
echo $wealth;
到
echo "<div id='wealth'>" . $wealth . "</div>";
AJAX请求:
var userWealth;
function getScore() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
userWealth = document.getElementById("wealth").innerHTML;
alert(userWealth);
}
};
xhttp.open("GET", "getScore.php", true);
xhttp.send();
}
这将设置&#34; userWealth&#34;来自PHP的$ rich。
请记住,Javascript应该在同一个&#34;服务器/网站&#34;作为PHP,否则AJAX请求不会起作用。