建議樓主把SQL語句顯示出來,自然就明白問題在哪里了,我試著簡單說一下,假設(shè)你的USER數(shù)據(jù)表有三個字段(name、age、sex),_POST提交數(shù)據(jù)也是這三個字段的,假設(shè)POST的值分別是abc、18、男,那么帖子的PHP會執(zhí)行下面的三個SQL語句:
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)東寶免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
INSERT INTO USER(name) VALUES(abc)
INSERT INTO USER(age) VALUES(18)
INSERT INTO USER(sex) VALUES(男)
現(xiàn)在明白了吧,一、三兩句會語法錯誤,英文沒有在文本字段添加引號,第二句即使執(zhí)行成功插入的記錄只有年齡,姓名、性別為空,如果數(shù)據(jù)庫有限制字段有效性,那么第二句插入也會失敗,數(shù)據(jù)庫需要的語句是:
INSERT INTO USER(name,age,sex) VALUES('abc',18,'男')
如果理解了,自然會下面這樣寫PHP語句:
$sql=END
INSERT INTO USER(name,age,sex)
VALUES('{$_POST['name']}',{$_POST['age']},'{$_POST['sex']}')
END;
把復(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);
}
這樣寫,能看明白么?
利用PHP對數(shù)組賦值時下標(biāo)變量會自動遞增的特點,可以很方便用循環(huán)將數(shù)據(jù)存入一個數(shù)組。例如:$arr[] = 'a'; 這條語句會將字符a存入數(shù)組變量$arr中,如果$arr不存在則會新建一個;若已存在,則將$arr數(shù)組的下標(biāo)變量遞增1后存入字符。也就是說,如果已有$arr[0]='a', 那么執(zhí)行 $arr[] = 'b'; 后,數(shù)組其實是進(jìn)行了$arr[1] = 'b' 的操作。