Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Xử lý lượng lớn dữ liệu trong PHP mà không có thời gian chờ của trình duyệt

Tôi sẽ viết hai tập lệnh:

Tệp index.php :

<iframe src="job.php" frameborder="0" scrolling="no" width="1" height="1"></iframe>
<script type="text/javascript">
    function progress(percent){
        document.getElementById('done').innerHTML=percent+'%';
    }
</script><div id="done">0%</div>

Tệp job.php :

set_time_limit(0);                   // ignore php timeout
ignore_user_abort(true);             // keep on going even if user pulls the plug*
while(ob_get_level())ob_end_clean(); // remove output buffers
ob_implicit_flush(true);             // output stuff directly
// * This absolutely depends on whether you want the user to stop the process
//   or not. For example: You might create a stop button in index.php like so:
//     <a href="javascript:window.frames[0].location='';">Stop!</a>
//     <a href="javascript:window.frames[0].location='job.php';">Start</a>
// But of course, you will need that line of code commented out for this feature to work.

function progress($percent){
    echo '<script type="text/javascript">parent.progress('.$percent.');</script>';
}

$total=count($mobiles);
echo '<!DOCTYPE html><html><head></head><body>'; // webkit hotfix
foreach($mobiles as $i=>$mobile){
    // send sms
    progress($i/$total*100);
}
progress(100);
echo '</body></html>'; // webkit hotfix


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo một bài đăng có liên quan hoặc tương tự bằng PHP &MySQL

  2. Lưu thông tin thẻ tín dụng trong cơ sở dữ liệu MySQL?

  3. mysqldump toàn bộ cấu trúc nhưng chỉ dữ liệu từ các bảng đã chọn trong một lệnh duy nhất

  4. Làm thế nào để kết nối mysql với swift?

  5. Cảnh báo:PDOStatement ::execute ():SQLSTATE [HY093]:Số tham số không hợp lệ:tham số không được xác định trong ... filetext