將數(shù)組序列化存儲(chǔ),例如
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的城陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
$stooges
=
array('Moe','Larry','Curly');
$new
=
serialize($stooges);
print_r($new);echo
"br
/";
print_r(unserialize($new));
結(jié)果:a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}
Array
(
[0]
=
Moe
[1]
=
Larry
[2]
=
Curly
)
把$new寫進(jìn)數(shù)據(jù)庫(kù)就行啦
首先你要學(xué)會(huì)查錯(cuò),最簡(jiǎn)單的方式就是打印出來(lái)看。你可以在第一個(gè)變量$arr_ip下一行,把這個(gè)變量打印出來(lái)看是不是數(shù)組,如果是數(shù)組,直接存入數(shù)據(jù)庫(kù)時(shí)就是array,你可以把數(shù)組json_encode一下,這樣存入進(jìn)去的就是序列化后的字符串了,但你拿出來(lái)時(shí)也要json_decode一下,把字符串還原成數(shù)組。
訂單提交后:
$_POST['list'] 的值會(huì)是:
array(a,b,c,d,e,a,b,a,b,c,d);
根本就沒(méi)有使用價(jià)值,即無(wú)法分清楚是這些選項(xiàng)是屬于哪個(gè)名稱的。所以,要么用js先在提交之前加工一個(gè)“l(fā)ist”的值,或者改交下list的名稱,如下:
input type="checkbox" name="list[]" value="a" /
改為:
input type="checkbox" name="list_sina[]" value="a" /
其他的按些修改。
在提交之后的處理代碼如下:
$title?=?isset($_POST['title'])???$_POST['title']?:?array();
$insert_data?=?array();
foreach($title?as?$row){
$name?=?trim($row);
$list?=?isset($_POST['list_'.$name])???implode(',',$_POST['list_'.$name])?:?'';
$insert_data[]?=?"('$name','$list')";
}
if(!empty($insert_data))?$mysql-query('INSERT?INTO?mysql_table(name,list)VALUES?'.implode(',',$insert_data));
這樣的數(shù)據(jù)庫(kù)查詢語(yǔ)句為:
INSERT INTO mysql_table(name,list)VALUES ('sina','a,b,c,d,e'),('qq','a,b'),('ifeng','a,b,c,d')