Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ब्राउज़र टाइमआउट के बिना PHP में बड़ी मात्रा में डेटा संसाधित करना

मैं दो स्क्रिप्ट लिखूंगा:

फ़ाइल 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>

फ़ाइल 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. MySQL में एकाधिक फ़ील्ड सॉर्ट करना

  2. समूह गणना के प्रतिशत की गणना(*)

  3. MySQL:त्रुटि 1215 (HY000):विदेशी कुंजी बाधा नहीं जोड़ सकता

  4. स्लीक 3.0 बल्क इंसर्ट या अपडेट (अप्सर्ट)

  5. दूरस्थ Mysql सर्वर (AWS औरोरा) पर Laravel अनुमति अस्वीकृत