【问题标题】:Split output of .serialize() and create an insert statement for every splitted part拆分 .serialize() 的输出并为每个拆分部分创建一个插入语句
【发布时间】:2013-09-24 18:12:37
【问题描述】:

我有 3 个表和来自 .serialize() 的输出字符串。

表 1:

parameter (parameterid, parametername)

表 2:

parametervalue (parametervalueid, parameterid_fk, appid_fk, parametervalue)

表 3:

app (appid, ..., ...)

.serialize() 输出:

4=Test&6=This is a test&9=19&15=Bla Bla Bla&appid=19746

4 = parameterid, Test=parametervalue, appid=19746

对于序列化输出的每个“部分”,我想创建一个INSERT 语句,它将parameteridappidparametervalue 添加到表parametervalue 中。如何拆分并动态添加它? “拆分”应该使用 PHP 来完成。

【问题讨论】:

    标签: php jquery sql split


    【解决方案1】:

    使用parse_str():

    $str = '4=Test&6=This is a test&9=19&15=Bla Bla Bla&appid=19746';
    $result = array();
    parse_str($str, $result);
    print_r($result);
    

    输出:

    Array
    (
        [4] => Test
        [6] => This is a test
        [9] => 19
        [15] => Bla Bla Bla
        [appid] => 19746
    )
    

    现在,要执行INSERT,您可以遍历拆分的数组:

    foreach ($result as $part) {
        // do the INSERT
    }
    

    Demo!

    【讨论】:

    • ID 错误。在您的 SO 答案中,它们是 0-4,在示例中它们是正确的 parameterids :)
    • @doonot:啊,你是对的。我错过了。我现在编辑了我的答案以反映这一点。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    相关资源
    最近更新 更多