对POST数据进行排序以通过POST名称中的id更新MySQL表行

时间:2017-12-05 09:11:05

标签: php mysql

我已经在PHP中创建了一个表单应用程序,现在我正在尝试实现更新字段。我已经做到了,所以POST包含这样的数据:

Array (
    '17-label' => "select label 0 ",
    '17-placeholder' => "select placeholder 0 ",
    '17-answer' => Array ( 
        "Answer 1",
        "Answer 2",
        "Answer 3"
    ),
    '18-label' => "textfield label 1",
    '18-placeholder' => "textfield placeholder 1",
    '19-label' => "textfield label 2",
    '19-placeholder' => "textfield placeholder 2"
)

现在你可以看到我使用我要更新的行的id作为开头,然后使用 - 来标识我要在列中更新的中断和实际列名。

但我该怎么做?

我知道如何更新,它只是,如何确保所有内容都进入正确的列。第一个数字是id,在 - 符号后面是实际的列名。但是我该怎么做呢?

2 个答案:

答案 0 :(得分:2)

我不完全确定我已经理解但是如果它正在拆分并使用数组键的组成部分那么也许这可能是有用的

foreach( $arr as $key => $str ){
    list( $id,$dash,$param )=explode( '-', $key );
    /* How do you wish to handle sub-arrays? */
    if( is_array( $param ) && !empty( $param ) )$param=implode(',',$param);

    /* do stuff with ID and PARAM */
}

或者,更像是:

foreach( $arr as $key => $value ){

    list( $id, $dash, $param )=explode( '-', $key );
    if( is_array( $value ) && !empty( $value ) )$value=implode(',',$value);

    /* do stuff with ID and PARAM and value */
}

答案 1 :(得分:0)

在编写sql时,为列'id'添加NULL。它会自动生成'id',假设它是自动递增的。