我正在用php开发一个网站。我有一些问题。我想知道如何在不刷新页面的情况下运行php页面时获得修改后的表值。
<html>
<?php
function fun_get_user_name() {
$host_name = "localhost";
$db_user_name = "root";
$password = "";
$database_name = "database_name";
$connect = mysqli_connect($host_name, $db_user_name, $password, $database_name);
$query = "SELECT * FROM `users` ";
$result = mysqli_query($connect, $query);
$output = "";
while ($row = mysqli_fetch_array($result)) {
$output = $output."<br/>"..$row[0];
}
}
?>
<script>
function js_function() {
result = "<?php echo fun_get_user_name; ?>";
document.getElementById('div_body_users').innerHTML = result;
}
window.setInterval(function() {
js_function();
}, 1000);
</script>
<body>
<div id="div_body_users">
</div>
</body>
</html>
当我在phpmyadmin表中进行更改时,更改不会影响页面。但我期待更新后的表格。
发布于 2019-05-08 11:25:29
因此,将fun_get_user_name移动到另一个文件,然后在setInterval中对该文件执行n ajax调用。
$.get( "users.php", function( data ) {
$( ".result" ).html( data );
alert( "Load was performed." );
});
有关ajax请求的更多信息,请查看此链接https://api.jquery.com/jquery.get/
在user.php上,您只需添加fun_get_user_name
发布于 2019-05-08 13:10:17
你可以使用ajax来做这件事,这里修改了你的ajax url和数据库连接细节。
<html>
<?php
function fun_get_user_name()
{
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test";
// Create connection
$conn = new mysqli($servername, $username, $password,$dbname);
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
}
if($_GET['ajax']==1){
$data=fun_get_user_name();
echo $data;
exit(0);
}
?>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
$(document).ready(function(){
setInterval(js_function,1000);
function js_function()
{
$.ajax({
url: "http://localhost/test2/test.php?ajax=1",
data: '',
cache: false,
processData: false,
contentType: false,
type: 'POST',
success: function (result) {
document.getElementById('div_body_users').innerHTML=result;
}
});
}
});
</script>
<body>
<div id="div_body_users">
</div>
</body>
</html>
发布于 2019-05-08 13:34:39
对于没有页面刷新的更新页面,您必须使用AJAX和setInterval函数。请查看下面的链接https://www.w3schools.com/asp/asp_ajax_intro.asp
https://stackoverflow.com/questions/56032988
复制相似问题