2016-11-20 12 views
0

ランダムなnoをPHPで1秒間に生成し、生成ボタンをクリックした後に表示したいとします。以下は同じ毎秒PHPのランダム番号を印刷するには

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
    <html> 
    <head> 
     <title>Random no Generator</title> 
     <meta content="text/html; charset=utf-8" http-equiv="content-type" /> 
    </head> 
    <?php 
    if(isset($_GET['action'])=='submitfunc') { 
    submitfunc(); 
    }else 
    //show form 
    ?> 
    <body> 
    <form action="?action=submitfunc" method="post">   <p> 
       <input type="submit" value="Generate" /></p> 
      <p> 
     </form> 
    </body> 

    <?php 
     function submitfunc() { 
    while(1){ 
     echo rand (5,10)."\n"; 
     sleep(1);  
    echo rand (25,50)."\n"; 
     sleep(1);   
    } 
} 
    ?> 
</html> 

編集のためのコードは次のとおりです。私はperodicalyそう

+5

PHPはサーバー側で動作します。コードはブラウザに応答を送信しないため、タイムアウトします(無限ループ)。最も簡単な解決策は、乱数生成をブラウザで実行されるjavascriptに移動することです。 – JimL

+0

私の動機は、データベースに1秒ごとにランダムなものを挿入することでした – sudhanshud

答えて

0

としては言っPHP経由で動作するようにこれを必要とするデータベースに無挿入する 、PHPはサーバーサイドのスクリプト言語です。これはFiddleが役に立ちます。

<button id="gen">Generate</button> 
<br/> 
<div id="content"> 
</div> 
<script type="text/javascript"> 
var int1 = null; 
var int2 = null; 
var br = $('<br/>'); 
$("#gen").on('click', function(){ 
    int1 = setInterval(function(){ 
    var span = $('<span/>').text(~~(Math.random()*5+5)); 
    $("#content").append(span).append($('<br/>')); 
    },2000); 
    setTimeout(function(){ 
    int2 = setInterval(function(){ 
     var span = $('<span/>').text(~~(Math.random()*25+25)); 
     $("#content").append(span).append($('<br/>')); 
    },2000); 
    },1000); 
}); 
</script> 
関連する問題