可以把循環(huán)停了,每次采集只采集一條,然后利用系統(tǒng)命令來實(shí)現(xiàn)連續(xù)采集的效果,或者每采集一條數(shù)據(jù)后延時(shí)5秒鐘,或者根據(jù)翻頁的頁數(shù)為延時(shí)的時(shí)間倍數(shù),例如4頁,就是5秒*4,而10頁就是5秒*10,這樣去采集!
創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號搭建、重慶小程序開發(fā)、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷領(lǐng)域創(chuàng)造價(jià)值而不懈努力!
每次進(jìn)入提交的頁面,給一個(gè)session,為了避免重復(fù),session的key可以是隨機(jī)的。
在表單填寫頁面
?php
session_start(); // 啟用session
$time = time();
$key = 'sess_' . $time; // 根據(jù)時(shí)間生成一個(gè)隨機(jī)的session key
$_SESSION[$key] = $time; // 設(shè)置session的值
?
!--{通過隱藏表單將 session 的 key傳遞到服務(wù)端處理}--
input type="hidden" name="session_key" value="?php echo $time;?" /
處理頁面
?php
session_start(); // 啟用session
$key = $_POST['session_key'];
if(!$key || $_SESSION[$key] != substr($key, 5)){
// 如果沒有傳 session_key 參數(shù)
// 或者 session_key 參數(shù)值截?cái)?sess_后的數(shù)字 與 session參數(shù)值不匹配
unset($_SESSION[$key]); // 刪除 session 值
// 然后考慮是否要提示錯(cuò)誤,或者轉(zhuǎn)入另一個(gè)頁面
exit(); // 終止頁面代碼執(zhí)行
}
// 下面進(jìn)行數(shù)據(jù)寫操作
// 數(shù)據(jù)操作完成后,刪除session
unset($_SESSION[$key]);
// 后續(xù)操作
?
$########################
一個(gè)頁面也是一樣的,我給你的只是一個(gè)思維,
具體如何實(shí)現(xiàn),你要根據(jù)自己的實(shí)際情況去處理
很多東西都不是通用的
另外,不管多少個(gè)頁面,必然包含兩個(gè)部分,一部分是表單填寫,一部分是數(shù)據(jù)處理,這個(gè)跟多少個(gè)頁面無關(guān)~~就看你是否能夠理解這段代碼的意義,如果不理解的話,嵌套進(jìn)去也沒啥用,能夠理解的話,或許你能夠找出更適合自己的解決方案
把復(fù)選框的值作為參數(shù)提交,作為循環(huán)的次數(shù)
$s1 = $_POST['s1'];//獲取樣品數(shù)量
for($i = 1; $i=$s1; $i++){
$tmp = $_POST['smp'.$i]; //這里是對應(yīng)循環(huán)中的文本框name屬性
$sql = "insert into 表名(字段....) values('樣品名',數(shù)量)";
mysql_query($sql,$conn);
}
這樣寫,能看明白么?
你在插入之前要先對數(shù)據(jù)進(jìn)行一次過濾也就是邏輯上得唯一判斷后再作入庫處理,否則提示已存在不插入即可。