我想将此网页https://castledefense.fun/assets/stat_bar.php加载到此网页https://castledefense.fun/dungeons.php中,以便在数据库上发生更新时实时显示数据库中的用户统计信息。在dungeons.php页面上,您会注意到统计栏表单元格没有从数据库中提取用户统计信息,因此php似乎没有运行在stat_bar.php页面上编写的mysqli_query语句。
当我在dungeons.php页面上使用include'stat_bar.php'时,stat_bar.php页面将进入dungeons.php页面并加载所有用户数据。但是,当我使用XMLHttpRequest方法(现在有什么)时,它只是提取表和文本,而不会从数据库中加载任何内容。
所以现在在做什么:
进入dungeons.php页面的stat_bar.php XHR的屏幕截图-不起作用:
通过php将stat_bar.php放到dungeon.php中的屏幕快照include''; -工作:
2:
我在做什么错了?
dungeons.php页面的代码
<script>
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
document.getElementById('ajax').innerHTML = xhr.responseText;
}
};
xhr.open('GET', 'assets/stat_bar.php');
xhr.send();
</script>
<div id="ajax">
</div>
未由php运行的stat_bar.php页面的代码:
<?php
$statQuery = "SELECT * FROM stats WHERE email='$_SESSION[email]'";
$statResult = mysqli_query($conn, $statQuery);
$statRow = mysqli_fetch_row($statResult);
//Equipped Item Query
$qry2 = "SELECT * FROM bag WHERE email = '{$_SESSION['email']}' AND equipped = '1' ";
$result2 = mysqli_query($conn, $qry2);
$statRow2 = mysqli_fetch_row($result2);
?>
<div style="width: 100%;">
<table align="center" width="25%" style="margin-top:10px;margin-
bottom:10px;border: 1px solid black;">
<tr>
<th>Level</th>
<th>Experience</th>
<th>Health</th>
<th>Attack</th>
<th>Defense</th>
<th>Gold</th>
</tr>
<tr style="text-align: center;">
<td><?php echo ($statRow[0]); ?></td>
<td><?php echo ($statRow[1]); ?></td>
<td><?php echo ($statRow[4]) . "<text style='color:dodgerblue;font-weight:bold;'>+" . $statRow2['9'] . "</font>"; ?></td>
<td><?php echo ($statRow[5]) . "<text style='color:dodgerblue;font-weight:bold;'>+" . $statRow2['3'] . "</font>"; ?></td>
<td><?php echo ($statRow[6]) . "<text style='color:dodgerblue;font-weight:bold;'>+" . $statRow2['4'] . "</font>"; ?></td>
<td><?php echo ($statRow[2]); ?></td>
</tr>
</table>
</div>
p.s。这个站点只是一个编码项目,可以帮助我在实际环境中学习这些语言。