【问题标题】:Mysql with ajax [closed]带有ajax的Mysql [关闭]
【发布时间】:2016-10-02 15:28:23
【问题描述】:

这是我正在使用的代码。

ajax

$.ajax({
    type: "GET",
    url: "process.php",
    dataType: "html",
    success: function(data){
        $(".content").html(data);
    }
});

$("#submit").click(function(){
    $.ajax({
        type: "POST",
        url: "post.php",
        dataType: "html",
        success: function(data1){
            $(".content").html(data1);
        }
    });
});

process.php

<?php
$db = mysqli_connect("localhost","root","","webcap");
$query = mysqli_query($db,"SELECT * FROM test");
while($row = mysqli_fetch_assoc($query)){
    echo $row['num'];
}

post.php

<?php
$db = mysqli_connect("localhost","root","","webcap");
$num_query = mysqli_query($db,"SELECT * FROM test");
$num_row = mysqli_fetch_assoc($num_query);
$number = $num_row['num'];

$new_number = $number + 1;
$query2 = mysqli_query($db,"UPDATE test SET num='$new_number'");
echo $new_number;

这个想法是,当我单击按钮时,它会在我的数据库中添加加一,我可以在不刷新的情况下看到它,但其他人看不到。

我希望我网站中的每个人都可以实时看到它而无需刷新

【问题讨论】:

  • 那么你遇到了什么错误?
  • 您需要在每个人的计算机上发送 AJAX 请求来查看号码是否已更新。如果test 有多行,则最好在该update 上使用where 子句。可能更好的方法SET num= num +1
  • 更新查询代码毫无意义。如果您只是增加,为什么不将update test set num=num+1 作为单个查询呢?执行两个这样的查询会使您面临竞争条件和丢失增量,因为一个脚本踩到另一个脚本的更新。
  • 您提出了很多问题,但尚未接受任何答案。这个网站是双向的。如果你期待帮助,你应该通过接受他们的回答来奖励那些帮助你的人。阅读How does accepting an answer work? 并开始回馈社区。​​span>
  • 不错的状态报告;感谢分享。那里有问题吗?

标签: php jquery mysql ajax mysqli


【解决方案1】:

如果您的 ajax 只在 javascript 中调用一次,它不会在不刷新的情况下更新。您需要将 ajax 放入 setInterval 并选择一个刷新率(毫秒):

Interval = setInterval(function () {
$.ajax({
    type: "GET",
    url: "process.php",
    dataType: "html",
    success: function(data){
        $(".content").html(data);
    }
});
}, 3000);

【讨论】:

  • 网页是静态的,除非再次向服务器请求数据。发出重复请求的唯一方法是通过间隔循环轮询或设置推送服务器。
  • 啊哈错过了 OP 的第一个电话。
  • 谢谢。这正是我需要@Shadouts
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-30
  • 2019-01-22
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多