ユーザーベースで作成された行があります。「新しい行を追加」をクリックすると、一部のコンテンツが複製されて追加されます。
複製された各コンテンツには独自のテキストエリアがあり、各行は行キーを取得します。
<input type="hidden" name="rowkey" value="0">
jQuery を使用して、作成された行と一致するように行キーの値を書き換えます.each()
。
Ajax 投稿の最終結果は、各行の新しい ajax リクエストです。ajaxの投稿は次のようになります
rowkey: 0
application[rows][0][elements][html]: Some HTML here
新しい行に対する別の ajax リクエスト
rowkey: 1
application[rows][1][elements][html]: Some More HTML here
次に、別の行が作成された場合
rowkey: 2
application[rows][2][elements][html]: Some More More HTML here
以前にこの方法を使用したことがありますが、現在はこれを使用してワードプレスで作業しており、この場合は上記の最後の ajax リクエストのみでテーブルをupdate_post_meta
更新します。通常、これを配列に入れることができます。wp_postmeta
rowkey: 2
こちらがupdate_post_meta
$application['rows'][$_POST['rowkey']] = $_POST['application']['rows'][$_POST['rowkey']];
$application = esc_sql(json_encode($application));
// Update the post's meta field
update_post_meta($post_id, 'MY_DATABASE', $application);
注:これは関数内にあり$post_id
、引数として使用されますが、問題はありません。最後ではなく、すべての ajax post 値をデータベースに取得するだけです。これをそこに捨てるだけで、それがARRAY_A
ここに関連しているかどうかわからないことを覚えています。
データベーステーブルは次のmeta_value
ようになります
"rows":{"1":{"elements":{"html":"2"}}}
このようになるべき場合:これが 100% 正確かどうかはわかりませんが、似ているはずです
"rows":{"1":{"elements":{"html":"1"}}, {"2":{"elements":{"html":"2"}}, {"3":{"elements":{"html":"3"}} }
最後に:これが十分に明確で、長すぎないことを願っています。私は本当にここで助けを借りることができました。より多くの情報を提供できれば幸いです。私は本当にこれを理解したいと思っています。必要な情報は何でも聞いてください。