2017-12-05 4 views
1

PHPでフォームアプリケーションを作成しましたが、今ではフィールドの更新を実装しようとしています。そして今、あなたは私がスタートとして更新したい行のIDを使用して見ることができるようにPOSTデータをソートしてPOSTテーブルの行をPOST名のIDで更新する

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" 
) 

、および - 休憩と実際を識別するために:私は、POSTは、このようなデータが含まれているので、それを作っています列名列で更新したい。

しかし、どうすればいいですか?

私は更新する方法を知っています。すべてが正しい列に移動することを確認する方法です。最初の番号はidで、 - 記号の後には実際の列名です。しかし、私はこれをどのようにして行うのですか?

+0

これらを分割してコードの挿入/更新を開始すると、すでに多くの更新文がここにあります。 – Ghost

+0

[mysql documentation](https:// dev .mysql.com/doc/refman/5.7/en/update.html)行の更新については? –

答えて

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 */ 
} 
+0

ありがとう、これは私が探していたものです! –

0

sqlを書き込むときに、カラム 'id'にNULLを指定します。自動増分されていると仮定すると、自動的に 'id'が生成されます。