2017-03-08 4 views
0

配列を使用してforeachループを繰り返し、スリープ関数を使ってスケジューリングしようとしています。以下foreachループの前のバッチを賢明に表示し、前のバッチを非表示にする

私のコードです:

<?php 
 
$result = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); 
 
$get_count = 4; 
 
$delay = 2; 
 
foreach ($result as $row) 
 
{ 
 
echo $row."<br>"; 
 
$countx++; 
 
if(($countx % $get_count)==0) 
 
{ 
 
sleep($delay); 
 
} 
 
} 
 
?>

私は取得しています出力は

1 
 
2 
 
3 
 
4 
 
5 
 
6 
 
7 
 
8 
 
9 
 
10 
 
11 
 
12 
 
13 
 
14 
 
15 
 
16

であり、私が望む出力が可能です

1 
 
2 
 
3 
 
4 
 

 
Hide above result and show nxt batch 
 

 
5 
 
6 
 
7 
 
8 
 

 
Hide above result and show nxt batch 
 

 
9 
 
10 
 
11 
 
12 
 

 
Hide above result and show nxt batch 
 

 
13 
 
14 
 
15 
 
16

すべてのヘルプ:&過去のバッチを一括で表示し、非表示にするには?

+0

の可能性のある重複した[クライアント側とサーバー側のプログラミングの違いは何ですか?](http://stackoverflow.com/questions/13840429/what-is-the-difference-between-client-サーバ側プログラミング) –

+0

@u_mulder重複していない –

+0

PHPはクライアントを表示した後、クライアント上に何も隠すことができません。そのためにJSを使用する –

答えて

0

以下のようにユーザークライアント側スクリプトを試してみるか、ajax呼び出しを使用してphp配列を取得してください。

<?php 
    $result = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); 
?> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <title>Sleep</title> 
</head> 
<body> 
<div id="sleep" data-key="0"></div> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script> 
$(function() { 
    var sleeparray = <?='['.implode(',',$result).']'?>; 
    var getcount = 4; 
    var disp = $('#sleep'); 
    display(); 

    var IntID = setInterval(function(){  
     if(disp.data('key') >= sleeparray.length) 
     clearInterval(IntID);  
     display();  
    },2000) 

    function display(){ 
     var start = disp.data('key'); 
     var html = '';  

     if(start<sleeparray.length) 
     { 
      for(var i=start; i< start+getcount && typeof sleeparray[i] !== 'undefined'; i++){ 
      html += sleeparray[i]+'<br/>'; 
      } 
      disp.html(html); 
      disp.data('key', start+getcount);   
     }   
    } 

}); 
</script> 
</body> 
</html> 
+0

私は –

+0

新しいPHPページを開いて全体のコードを入れてそれを実行します –

+0

foreachループの結果を表示する場合はどうすれば –

関連する問題