我的這個功能的原因是參考dedecms生成html頁面的原理,只是dedecms使用的是js跳轉而我使用的是refresh進行跳轉,效果是一樣的,下面我們一起來看一個php實現批量導入數據的方法.
因為我有1000W數據一次導入數據庫肯定是不可行了,所以我就導致了每一次導入50條或更多數據,然后下次再刷新一次這樣就可以解決這個問題了,代碼如下:
- <?php
- set_time_limit(0);
- //連接數據庫
- $s = isset( $_GET['s'] )?$_GET['s']:0;
- $e = isset( $_GET['e'])?$_GET['e']:50;
- $count =85000;
- if( $s < $count )
- {
- $sql = "select * from bac_info where isget =0 order by id desc limit $s,$e ";
- $query = mysql_query( $sql );
- while( $rs = mysql_fetch_array( $query ) )
- {
- $id = $rs['id'];
- $sms = $rs['sms'];
- $typeid = $rs['typeid'];
- $isget = $rs['isget'];
- $sql = "insert into bac_info_bak (id,sms,typeid,isget) values('$id','$sms','$typeid','$isget')";
- mysql_query( $sql ) ;
- echo $sql;
- //exit;
- $sqlu = "update bac_info set isget=1 where id =".$rs['id'];
- mysql_query( $sqlu );
- }
- echo '<meta http-equiv="refresh" content="0;url=rand.php?s='.($s+50).'&e=50">正在處理數據,當前為'.$s.'條......';
- }//開源代碼Vevb.com
- else
- {
- echo '完成所有數據處理 <a href=rand.php>再隨機排序一次</a>';
- }
- ?>
新聞熱點
疑難解答