Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何要求javascript等待mysql为php变量赋值? var msg=“”;_Php_Javascript_Mysql - Fatal编程技术网

如何要求javascript等待mysql为php变量赋值? var msg=“”;

如何要求javascript等待mysql为php变量赋值? var msg=“”;,php,javascript,mysql,Php,Javascript,Mysql,我担心的是,数据库表有太多数据需要搜索和检索,因此PHP变量$msgLive还没有值,所以Javascript变量var msg获取空值。如何要求javascript等到PHP变量$msgLive获得值后才将值从PHP变量传输到javascript?您不必担心这一点,因为首先服务器脚本执行,花时间与数据库通信,为msgLive变量分配一个值,最后,它生成发送到客户端的HTML。在这段时间里,客户机一直在等待(并且可能会诅咒他的ISP,因为他正在经历缓慢的连接:-))。因此,一旦HTML到达客户端

我担心的是,数据库表有太多数据需要搜索和检索,因此PHP变量
$msgLive
还没有值,所以Javascript变量
var msg
获取空值。如何要求javascript等到PHP变量
$msgLive
获得值后才将值从PHP变量传输到javascript?

您不必担心这一点,因为首先服务器脚本执行,花时间与数据库通信,为
msgLive
变量分配一个值,最后,它生成发送到客户端的HTML。在这段时间里,客户机一直在等待(并且可能会诅咒他的ISP,因为他正在经历缓慢的连接:-))。因此,一旦HTML到达客户端浏览器,javascript变量将设置其值。因此,无需告诉javascript等待,javascript甚至在服务器完成其工作并将HTML推送到客户端之前都不存在。

如果我在javascript代码下面添加另一个php代码会怎么样?javascript变量var msg的值将变为“12345”@zac1987,无论您将其放在何处。您应该真正区分服务器端代码和客户端代码。这是两个完全不同的过程,发生在两个不同的时间点。首先是生成HTML的服务器,该HTML被发送到客户端,然后客户端将获得它,如果该HTML包含javascript,它将在浏览器中运行,…因此var msg将变为“12345”。我已经明白了。谢谢你。但是当我声明的时候,我会用javascript警告(“”);it成功警报“abc”。但是当我将javascript代码切换到上面的php代码时,它没有提醒“abc”。如果如您所说,php首先运行finish,那么只运行javascript。为什么javascript无法提醒php变量的值?@zac1987 javascript永远不会在php之前执行,这毫无意义!
<?php
  $query3 = "SELECT message FROM messageslive LIMIT 1";
  $result3 = mysql_query($query3,$connection) or die (mysql_error());
  confirm_query($result3);
  while($userinfo3 = mysql_fetch_array($result3)){
      $msgLive = $userinfo3['message'];
  }
?>

<script type="text/javascript">
  var msg = "<?php echo $msgLive ; ?>";
</script>