2014-05-22 2 views
-1

현재 60 분 정도 후에 데이터베이스를 분할하여 메시지를 보내는 방법을 찾고 있습니다. 데이터베이스에서 1000 개가 넘는 행이있는 테이블을 가지고 있으며이를 50 개 그룹으로 나누고 싶습니다. 어떻게 달성 할 수 있는지 예를 들어 주시면 감사하겠습니다. 고맙습니다.분할 배열을 사용하여 테이블 열을 분할하는 방법

답변

0

다음처럼 탐색하는 스크립트를 만들 수 있습니다

runner.php?start=0&limit=50

이 페이지는 행 0에서 시작하여 50 반복 할 것. 그런 다음 50 반복 후 밖으로 에코 것 :

<script>setTimeout(function() { 
    window.location='runner.php?start=50&limit=50'; 
}, 3600000)</script> 

start=50 당신은 당신의 브라우저 창은 비록 오픈 계속해야 할 것 $_GET['start'] + $_GET['limit']

될 경우.

0

당신은 array_chunk을 사용할 수 있습니다 : 브라우저가 결과를 기다리는 시간 종료로

$chunks = array_chunk($results, 50); 
foreach ($chunks as $i => $chunk) { 
    if ($i != 0) { 
     sleep(3600); // Pause an hour except at the beginning 
    } 
    foreach ($chunk as $row) { 
     // Do what you want with the row 
    } 
} 

이 웹 페이지에서이 작업을 수행하지 마십시오. 그러나 CLI 스크립트에서이 작업을 수행 할 수 있습니다.

관련 문제