2

これが私の配列です。

    $json = '
{
    "1":{
        "Device_ID":"a9a3346be4375a92",
        "Date":"2012-05-31",
        "Time":"15:22:59",
        "Latitude":"51.4972912",
        "Longitude":"0.1108178"
    },
    "2":{
        "Device_ID":"a9a3346be4375a92",
        "Date":"2012-05-31",
        "Time":"15:52:07",
        "Latitude":"51.4988357",
        "Longitude":"0.1222859"
    }
}';

次のようにデコードされます。$array = json_decode($json);

上記の配列のすべての$itemsをデータベースに挿入しようとしています。したがって、1つのレコードにすべてのデータを1以内に格納し、2番目のレコードにすべての値を2以内に格納したいと思います。

アイデアは、配列のサイズがわからないため、100個の$itemsを持つことができるということです。

これはどのように行われますか?

4

1 に答える 1

4

次のようなものを試してください。

$item_array = json_decode($json, true);
$insert_query = "INSERT INTO items (column1,column3) VALUES ";
$i = 0;
$array_count = count($item_array);

foreach($item_array as $item) {
 $end = ($i == $array_count) ? ';' : ',';
 $insert_query .= "('".$item['date']."','".$item['device_id']."')" . $end;
 $i ++;
}

mysql_query($insert_query);

結果のクエリは次のようになります。

INSERT INTO items (column1,column3) VALUES ('asdf',123),('asdfe',1234);
于 2012-05-31T20:03:31.577 に答える