先说下我做的原理吧:
1、先把json转换成数组;
2、在把数组中的我需要是数据提取下,组成我要是sql语句中VALUES的一部分,提取的这部分我存成一个数组;
3、由于上面提取VALUES是一个数组,我用for循环执行sql语句,但是提示i没有定义
大家看看怎么回事
<?php
require ('inc/config.php');
require (MYSQL);
$data ='[{"date":"2014-09-06","num":151,"area":18017.24},{"date":"2014-09-07","num":103,"area":11703.9},{"date":"2014-09-08","num":66,"area":7378.92},{"date":"2014-09-09","num":192,"area":22160.96},{"date":"2014-09-10","num":183,"area":22059.72},{"date":"2014-09-11","num":184,"area":21212.68},{"date":"2014-09-12","num":119,"area":13960.93},{"date":"2014-09-13","num":0,"area":0},{"date":"2014-09-14","num":43,"area":5056.19},{"date":"2014-09-15","num":121,"area":12867.43},{"date":"2014-09-16","num":93,"area":8755.81},{"date":"2014-09-17","num":80,"area":9035.69},{"date":"2014-09-18","num":158,"area":17613.12},{"date":"2014-09-19","num":112,"area":12180.37},{"date":"2014-09-20","num":74,"area":8614.02},{"date":"2014-09-21","num":95,"area":10305.27},{"date":"2014-09-22","num":258,"area":30695.9},{"date":"2014-09-23","num":155,"area":17457.88},{"date":"2014-09-24","num":148,"area":16792.02},{"date":"2014-09-25","num":167,"area":20203.15},{"date":"2014-09-26","num":174,"area":20055.03},{"date":"2014-09-27","num":138,"area":15927.18},{"date":"2014-09-28","num":175,"area":19372.63},{"date":"2014-09-29","num":277,"area":30226.38},{"date":"2014-09-30","num":311,"area":33082.01},{"date":"2014-10-01","num":88,"area":9456.33},{"date":"2014-10-02","num":92,"area":9384.07},{"date":"2014-10-03","num":70,"area":7780.39},{"date":"2014-10-04","num":71,"area":7620.61},{"date":"2014-10-05","num":44,"area":4672.24}]';
$array = json_decode($data, true);
//print_r ($array);
$values = array();
foreach ($array as $k => $v) {
//echo "('" . $k . "', '" . $v . "')";
//echo $v."<br>";
//echo $v['date'].$v['num'].$v['area']."<br>";
$values[] = "('" . $v['date'] . "', " . $v['num'] . ", " . $v['area'] . ")";
}
for ($i=0; $i<=100; $i++) {
$q = "INSERT INTO f_chengjiao (city_id, fang_time, taoshu, area, os_time) VALUES (1, $values[i], NOW())";
}
$r = mysqli_query ($conn, $q) or trigger_error("Query: $qn<br />MySQL Error: " . mysqli_error($conn));
if (mysqli_affected_rows($conn) == 1) {
echo '这条数据已经添加成功';
} else {
echo '程序发生错误,请重新添加';
}
?>
------解决思路----------------------
$data ='[{"date":"2014-09-06","num":151,"area":18017.24},{"date":"2014-09-07","num":103,"area":11703.9},{"date":"2014-09-08","num":66,"area":7378.92},{"date":"2014-09-09","num":192,"area":22160.96},{"date":"2014-09-10","num":183,"area":22059.72},{"date":"2014-09-11","num":184,"area":21212.68},{"date":"2014-09-12","num":119,"area":13960.93},{"date":"2014-09-13","num":0,"area":0},{"date":"2014-09-14","num":43,"area":5056.19},{"date":"2014-09-15","num":121,"area":12867.43},{"date":"2014-09-16","num":93,"area":8755.81},{"date":"2014-09-17","num":80,"area":9035.69},{"date":"2014-09-18","num":158,"area":17613.12},{"date":"2014-09-19","num":112,"area":12180.37},{"date":"2014-09-20","num":74,"area":8614.02},{"date":"2014-09-21","num":95,"area":10305.27},{"date":"2014-09-22","num":258,"area":30695.9},{"date":"2014-09-23","num":155,"area":17457.88},{"date":"2014-09-24","num":148,"area":16792.02},{"date":"2014-09-25","num":167,"area":20203.15},{"date":"2014-09-26","num":174,"area":20055.03},{"date":"2014-09-27","num":138,"area":15927.18},{"date":"2014-09-28","num":175,"area":19372.63},{"date":"2014-09-29","num":277,"area":30226.38},{"date":"2014-09-30","num":311,"area":33082.01},{"date":"2014-10-01","num":88,"area":9456.33},{"date":"2014-10-02","num":92,"area":9384.07},{"date":"2014-10-03","num":70,"area":7780.39},{"date":"2014-10-04","num":71,"area":7620.61},{"date":"2014-10-05","num":44,"area":4672.24}]';
$array = json_decode($data, true);
$values = array();
foreach ($array as $k => $v) {
$values[] = "'" . $v['date'] . "', " . $v['num'] . ", " . $v['area'] . "";
}
for ($i=0; $i<count($values); $i++) {
$q = "INSERT INTO f_chengjiao (city_id, fang_time, taoshu, area, os_time) VALUES (1, ".$values[$i].", NOW())";
echo $q.'<br>';
}
测试了下,没有问题啊。
INSERT INTO f_chengjiao (city_id, fang_time, taoshu, area, os_time) VALUES (1, '2014-09-06', 151, 18017.24, NOW())
INSERT INTO f_chengjiao (city_id, fang_time, taoshu, area, os_time) VALUES (1, '2014-09-07', 103, 11703.9, NOW())
INSERT INTO f_chengjiao (city_id, fang_time, taoshu, area, os_time) VALUES (1, '2014-09-08', 66, 7378.92, NOW())
INSERT INTO f_chengjiao (city_id, fang_time, taoshu, area, os_time) VALUES (1, '2014-09-09', 192, 22160.96, NOW())
INSERT INTO f_chengjiao (city_id, fang_time, taoshu, area, os_time) VALUES (1, '2014-09-10', 183, 22059.72, NOW())
友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群