【问题标题】:PHP function calling from Javascript not working从Javascript调用的PHP函数不起作用
【发布时间】:2014-03-22 23:13:19
【问题描述】:

我正在使用 PHP 开发一个发布系统。过帐系统通过一个 SQL 数据库,然后从数据库中打印出数据。我正在尝试使用 javascript 查看系统是否已更新。基本上,我想使用 javascript 检查是否添加了任何新帖子。我有一些进入数据库的代码

function minicheck (){
    $query= "SELECT * FROM posts";
    $result= mysql_query($query);
    return mysql_num_rows($result);
}

该函数每10秒返回数据库中的行数。我使用javascript调用该函数。

<?php
     echo(" <script>
        killPage();
        function killPage () {
      setInterval(function(){
    x++;
    alert(".minicheck().");
    }, 10000);
     }
   </script> ");
?>

我面临的问题是,无论是否将行添加到 sql 数据库中,该函数都会返回完全相同的值。即使我在sql数据库中添加一行,这个函数每次返回的值都是完全相同的。

我该如何解决这个问题?

谢谢你。

【问题讨论】:

  • 尝试在 PHP 中运行 var_dump(minicheck()) 并告诉我们返回的结果。
  • 你需要知道echo会生成一个字符串。一旦它被发送到浏览器,JavaScript 会看到您的 alert() 始终具有相同的值。您不能在 JavaScript 中访问 PHP 函数。
  • mysql_ 函数已弃用,您必须使用 PDO 或 MySQLi 驱动程序

标签: javascript php mysql sql ajax


【解决方案1】:

你不能像那样从 JavaScript 调用 PHP 函数。

您所做的是在构建 JavaScript 时调用该函数一次,然后将其发送到浏览器。

浏览器只会获取你在字符串中输入的静态值,所以它自然永远不会更新。

如果您想从 JavaScript 调用 PHP 中的某些内容,您可能需要使用 XMLHttpRequest(或任何现成的库,如可以帮助 w/AJAX 的 jQuery)来查询运行函数并返回的 PHP 文件价值。

【讨论】:

    猜你喜欢
    • 2014-08-17
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多