ホームページ >バックエンド開発 >PHPチュートリアル >php foreachの問題、オンラインなど。
PC クライアントは次の JSON データをバックグラウンドに POST します。JSON 結果配列のデータ エントリは固定されておらず、グループが 1 つである場合もあれば、グループが 3 つある場合もあり、さらに多くなる場合もあります。
例: json 結果配列内の 1 セットのデータ
{
"result" : [
"old_ip" : "61.141.251.21",
"new_ip" : "61 .141.251.22",
"urldata" : " img1.taobao.comr"、
"正常" : "100"、
"エラー" : "102"、
"エージェント" : "Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQ ダウンロード 732; .NET4。「61.141.251.23」、
「new_ip」:「61.141.251.24」、
「urldata」:「img1.taabao.comr」、
「通常」:「100」、
「エラー」:「102」 、
"エージェント" : "Mozilla/4.0 (互換性 ; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)r"
" "new_ip" : "61.141.251.26 ",
"urldata" : "img2.taabao.comr"、
"normal" : "100"、
"error" : "102"、
"agent" : "Mozilla/4.0 (互換性あり、MSIE 6.0、Windows NT 5.1、SV1 ; QQダウンロード 732; .NET4.0E)r"
" " },
" new_ip " : "61.1 41.251.28",
"urldata" : " img3.taobao.comr"、
"正常" : "100"、
"エラー" : "102"、
"エージェント" : "Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732 ;Net4 .0c; .net4.0e) r "
}
]
}
データテーブル:
Create Table` result` (
`ID` int (10) unsigned not null auto_increment,
` `` `` ` ` 100) NOT NULL、
`new_ip` varchar(100) NOT NULL、
`urldata` varchar(100) NOT NULL、
`normal` varchar(10) NOT NULL、
`error` varchar(10) NOT NULL、
`agent` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
バックグラウンド受信 PHP コード:
185de91ed9228e922daaebc290d42dde';
mysql_query($sqlstr) or die (mysql_error());
}
}
$user_ip=get_userip();$result=$_POST["result"]; $arr=json_decode($result,true);$arr=$arr['result']; if($arr){ foreach($arr as $val){ $val['user_ip'] = $user_ip; $val = array_map('mysql_real_escape_string',$val); $str = "'".implode("','", $val)."'"; $sqlstr = "insert into result(old_ip,new_ip,urldata,normal,error,agent,user_ip) values(".$str.")"; echo $sqlstr.'<br>'; mysql_query($sqlstr) or die(mysql_error()); }}