【问题标题】:Json to mysql. how do i transform json object to sql query?json到mysql。如何将 json 对象转换为 sql 查询?
【发布时间】:2016-09-11 07:37:32
【问题描述】:

我有一个如下所示的 json 对象:

"Sunday":[
        {
            "low":"00:15",
            "high":"00.45",
            "mid":["00:30"]
        },
        {
            "low":"01:15",
            "high":"02.45",
            "mid":["01:30","01:45","02:00","02:15","02:30"]
        }

    ],
    "Monday":[
        {
            "low":"00:15",
            "high":"00.45",
            "mid":["00:30"]
        },
        {
            "low":"01:15",
            "high":"02.45",
            "mid":["01:30","01:45","02:00","02:15","02:30"]
        }

    ]

我正在使用 json_decode() 方法使其成为一个数组,如下所示:

Array ( [Sunday] => Array ( [0] => Array ( [low] => 01:15 [high] => 02.45 [mid] => Array ( [0] => 01:30 [1] => 01:45 [2] => 02:00 [3] => 02:15 [4] => 02:30 ) ) [1] => Array ( [low] => 00.45 [high] => 00:30 [mid] => Array ( [0] => 01:30 [1] => 01:45 [2] => 02:00 [3] => 02:15 [4] => 02:30 ) ) ) ) 

我能够成功地从 mysql 获取上述数组并将其传递给 javascript,但我对如何将相同的 json 数组放回 mysql 感到困惑。

mysql 表如下所示: |ID|日|低|高|中|

请帮助我知道如何最好地解决这个问题。

谢谢

最大

【问题讨论】:

  • 你检查过我给你的答案吗?它解决了你的问题吗?
  • 像魔术一样工作。虽然我只是想要一个线索;你给了我完整的解决方案:P 非常感谢 :)
  • 这是我的荣幸。快乐编码。 ;)

标签: php mysql json codeigniter


【解决方案1】:

读取提供的输入数据和输出(DB表期望),为您制作了这个解决方案:

您的 JSON 输入数组

public function arr2ins()
{
    $arr = [
        "Sunday" => [
            [
                'low' => "00:15", 
                'high' => "00.45",
                'mid' => [
                    "00:30",
                ],
            ],
            [
                'low' => "01:15", 
                'high' => "02.45",
                'mid' => [
                    "01:30",
                    "01:45",
                    "02:00",
                    "02:15",
                    "02:30",
                ],
            ],
        ],
        "Monday" => [
            [
                'low' => "00:15", 
                'high' => "00.45",
                'mid' => [
                    "00:30",
                ],
            ],
            [
                'low' => "01:15", 
                'high' => "02.45",
                'mid' => [
                    "01:30",
                    "01:45",
                    "02:00",
                    "02:15",
                    "02:30",
                ],
            ],
        ],
    ];

    $insert = array();

    foreach($arr as $k1 => $v1)
    {
        foreach($v1 as $k2 => $v2)
        {
            $insert[] = array(
                'ID' => '', 
                'Day' => $k1, 
                'Low' => $v2['low'],
                'High' => $v2['high'],
                'Mid' => is_array($v2['mid']) ? implode(',', $v2['mid']) : $v2['mid'],
            );
        }
    }

    echo '<pre>',var_dump($insert);

}

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 1970-01-01
    • 2020-02-04
    • 2016-03-28
    • 2015-09-18
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多