利用PHP對數(shù)組賦值時(shí)下標(biāo)變量會(huì)自動(dòng)遞增的特點(diǎn),可以很方便用循環(huán)將數(shù)據(jù)存入一個(gè)數(shù)組。例如:$arr[] = 'a'; 這條語句會(huì)將字符a存入數(shù)組變量$arr中,如果$arr不存在則會(huì)新建一個(gè);若已存在,則將$arr數(shù)組的下標(biāo)變量遞增1后存入字符。也就是說,如果已有$arr[0]='a', 那么執(zhí)行 $arr[] = 'b'; 后,數(shù)組其實(shí)是進(jìn)行了$arr[1] = 'b' 的操作。
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、桃城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為桃城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
?php
$arr?=?array(
0?=?1100,
1?=?'天津市',
2?=?2210,
3?=?'沈陽市'
);
$sql?=?'';
foreach?($arr?as?$k?=?$v)?{
if?($k?%?2?==?0)?{
$no?=?$v;
continue;
}?else?{
$city?=?$v;
}
echo?"INSERT?INTO?tablename?(no,?city)?VALUES?($no,?$city)";
}
?
結(jié)果:
INSERT INTO tablename (no, city) VALUES (1100, 天津市)
INSERT INTO tablename (no, city) VALUES (2210, 沈陽市)
sql語句已經(jīng)輸出的,你query下就行,按照自己的數(shù)據(jù)套吧.
上面那個(gè)回答運(yùn)行不怎么對
1W條數(shù)據(jù)量也不是特別大,那就直接讀取,然后在foreach入庫就可以了
如果數(shù)據(jù)量非常大的時(shí)候,那就分段讀取,然后入庫~
考慮到php超時(shí),那就網(wǎng)頁端打開,第一部分執(zhí)行完,刷新頁面,開始執(zhí)行第二部分,依次進(jìn)行...
當(dāng)然,直接在命令行下執(zhí)行也可以~
php模板循環(huán)中,最常見的循環(huán)就是foreach了,簡單高效使php程序里大量運(yùn)用了foreach,這里我們就模板里的循環(huán)進(jìn)行解說。在php模板中,循環(huán)被改裝成對稱的loop 和 /loop 模式,代碼:
!-- loop from=$rslist key=$key value=$value [id=rslist_id] --
...
!-- /loop --
參數(shù)解析:
from,數(shù)據(jù)來源
key,給數(shù)組下標(biāo)附一個(gè)變量
value,值
id,給數(shù)組from里信息增加屬性,這里提供了三個(gè)屬性
num,當(dāng)前數(shù)量,從1開始計(jì)起
index,當(dāng)前索引,從0開始計(jì)起
total,當(dāng)前數(shù)組數(shù)量
示例1:在文章列表中常用到的循環(huán)
!-- loop from=$rslist key=$key value=$value --
lia href="{$value.url}" title="{$value.title}"span class="date"{func date Y-m-d $value.dateline}/span{$value.title}/a/li
!-- /loop --
先檢查一下你的數(shù)據(jù)庫操作是否放在循環(huán)體里面。如果是在循環(huán)里面再檢查一下你的表結(jié)構(gòu)中各字段的約束是否有唯一。
你這樣的循環(huán)插入庫效率不高,可以把 values拼接起來,然后一次性插入。
建議樓主把SQL語句顯示出來,自然就明白問題在哪里了,我試著簡單說一下,假設(shè)你的USER數(shù)據(jù)表有三個(gè)字段(name、age、sex),_POST提交數(shù)據(jù)也是這三個(gè)字段的,假設(shè)POST的值分別是abc、18、男,那么帖子的PHP會(huì)執(zhí)行下面的三個(gè)SQL語句:
INSERT INTO USER(name) VALUES(abc)
INSERT INTO USER(age) VALUES(18)
INSERT INTO USER(sex) VALUES(男)
現(xiàn)在明白了吧,一、三兩句會(huì)語法錯(cuò)誤,英文沒有在文本字段添加引號,第二句即使執(zhí)行成功插入的記錄只有年齡,姓名、性別為空,如果數(shù)據(jù)庫有限制字段有效性,那么第二句插入也會(huì)失敗,數(shù)據(jù)庫需要的語句是:
INSERT INTO USER(name,age,sex) VALUES('abc',18,'男')
如果理解了,自然會(huì)下面這樣寫PHP語句:
$sql=END
INSERT INTO USER(name,age,sex)
VALUES('{$_POST['name']}',{$_POST['age']},'{$_POST['sex']}')
END;
標(biāo)題名稱:php數(shù)據(jù)循環(huán)插到數(shù)據(jù)表 php for循環(huán)輸出數(shù)組
分享地址:http://m.rwnh.cn/article14/hiigge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、、Google、建站公司、ChatGPT、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容