Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 PHP无限随机数生成器,无需刷新页面_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript PHP无限随机数生成器,无需刷新页面

Javascript PHP无限随机数生成器,无需刷新页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,嗨,伙计们,我试图在不刷新整个页面的情况下一次创建无限个随机数1。比如说 5>1秒后用其他随机数(如10)替换5>1秒后用随机数(如8)替换10,依此类推 我设法使它工作,但数字不刷新。它只是在单击1次后停止,我必须重新单击它以给我另一个随机值 这是我的密码 Homepage.php <html> <head> <script src="ajax.js"></script> <script> var HTTP = loadXMLDoc(

嗨,伙计们,我试图在不刷新整个页面的情况下一次创建无限个随机数1。比如说

5>1秒后用其他随机数(如10)替换5>1秒后用随机数(如8)替换10,依此类推

我设法使它工作,但数字不刷新。它只是在单击1次后停止,我必须重新单击它以给我另一个随机值 这是我的密码

Homepage.php

<html>
<head>
<script src="ajax.js"></script>
<script>
var HTTP = loadXMLDoc();
var submitEvent = document.getElementById("submit-button").onclick = function(){
hello2(HTTP);
};
</script>
</head>
<body>
<div id="randomNum">0</div>
<?php
    echo "<form action='randomnumber.php' method='post' style='display: inline-block'>
    <input id='submit-button' type = 'button' value='login' id='submit' />";
    echo "</form>";
?>
</body>
</html>

randomnumber.php您的远程php代码现在正在做的是创建一个介于2和6之间的随机数。我不知道为什么它是一个循环。由于
i
初始化为1,并且您将至少向其中添加1,因此在第一次迭代后,它将始终为2或更多,从而防止第二次循环。你可以这样做

<?php echo rand(2,6); ?>
作为JavaScript中
hello2()
函数的最后一行。这将导致函数每秒重复一次(再次调用PHP文件)

不过,我不确定这是否适合写入数据库。如果php文件打算每秒向数据库写入一个新条目,那么会让数据库管理员头疼。更理想的做法可能是将其中几个存储在一个数组中(可能是100?),然后调用另一个PHP文件将这些数字写入数据库

在这种情况下,您可以完全跳过第一个调用(使您的服务器工作更少。让JavaScript使用

var randomNum = Math.floor(Math.random()*5)+2
Math.random()
创建一个介于0和1之间的随机浮点数。将其乘以5将使其成为介于0和5之间的随机浮点数。Math.floor()将该值向下舍入为一个整数(介于0和4之间),因此在结果中添加2使其介于2和6之间


这将所有的工作都放在客户端浏览器上,并且不会出现连接速度慢的问题。JavaScript可以将结果存储为数组,定期调用PHP文件将结果存储在数据库中,然后重置数组。因此,服务器调用越少,数据库写入越少,性能越好。

您需要使用
setInterval
定期运行Javascript函数。谢谢,我会查看它>>谷歌:)为什么要在循环计数器中添加随机数?这样我就可以创建无限随机数。我想这就是我想做的,就像我说的,循环是我的弱点,我想说循环将在$i=1时运行一次。然后$i的值在1到5之间递增,因此$i变成了2到6之间的值,在第二次尝试时将您从while循环中挤出。感谢E对这一点的详细解释
<?php echo rand(2,6); ?>
setTimeout(hello2,1000);
var randomNum = Math.floor(Math.random()*5)+2