php - jQuery、PHP、MySQL 新插入的数据只在页面重新加载时显示

标签 php jquery mysql

使用下面的代码,我检索连接到谷歌地图上标记的内容并将其显示在容器中。现在的问题是,对于在新加载页面之前插入到数据库中的内容,它工作正常。将新内容插入数据库时​​,在重新加载页面之前不会显示任何内容。有人知道如何解决这个问题吗?

google.maps.event.addListener(marker, 'click', function() {

var poslat = marker.getPosition().lat();
var poslng = marker.getPosition().lng();

var posData = {poslat : poslat, poslng: poslng};

      $.ajax({
          type: "POST",
          url: "getcontent.php",
          data: posData,
          success: function(data){ 

              $('.contentslide').slideDown('slow');

              $('.contentslide .container').html(data);

        });
});


<?php
$db_username = 'x';
$db_password = 'x';
$db_name = 'x';
$db_host = 'x';

$mysqli = new mysqli($db_host, $db_username, $db_password, $db_name);

$rs = $mysqli->query("SELECT * FROM locations WHERE lat=$_POST[poslat]");

$row = $rs->fetch_array();

echo $row['type'];
echo "<h1>" . $row['name'] . "</h1>" . "<br>";
echo "<p>" . $row['description'] . "</p>";

$mysqli->close();

?>

最佳答案

你说的有点道理。该页面加载了数据库中的所有内容。如果您在数据库中添加一个条目并且不重新加载页面,您将看不到它。现在,如果您使用表单添加条目,您可能会将表单操作页面设置为同一页面。这样,当您将新值发布到数据库中时,只要您在加载页面之前将新条目放入数据库中,它就会使用该新条目重新加载该页面。这将是一个快速修复,但您仍然会重新加载该页面。唯一的区别是您不需要按重新加载,因为它会在您提交新条目时完成。

另一种选择是使用 AJAX 仅重新加载您想要在页面中重新加载的内容,并且也可以按时间间隔完成。

基本上,如果您查看该页面并且另一个用户添加了一个条目,您将不会看到它,直到您重新加载该页面或者除非您使用 ajax 每 5 秒刷新页面的一部分。

这也可能意味着您在将值输入数据库之前加载页面

确保您所有的 html 都在您的数据库查询之后。

关于php - jQuery、PHP、MySQL 新插入的数据只在页面重新加载时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28157663/

相关文章:

javascript - jquery-steps 进入 angularjs 指令

mysql - SQL语法;检查与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行 '' 用户的 ORDER BY 'ID' ' 附近使用的正确语法

MySQL Workbench 6.3 将无法连接到 mysql-5.7.7-rc-osx10.9-x86_64

php - 在 mysql_real_escape_string 之后使用 stripslashes

JavaScript 查找控件 ID

jquery - jquery 1.4.2 和 jQuery 1.2.3 之间的冲突

PHP/Mysqli 插入 : Cannot pass parameter 2 by reference

php - 如何找出文件被下载了多少次?

php - 根据操作向查询结果添加列

php - jquery中每行表中动态创建的按钮