2017-11-22 8 views
0

私は現在、作成しているウェブサイトのガイドシステムに取り組んでいます。登録ユーザーが「ステップ」のガイドを作成できるようにしています。各「ステップ」は単純なJQueryによって生成され、テキストボックスはsummernote WYSIWYGエディタに置き換えられます。動的に追加されたテキストボックスからMySQLテーブルにデータを保存

データベーステーブルの1つの列に各「ステップ」を保存する方法を探しています。

データベーステーブル

id | category | title | description | guide | author | stamp 

各テキストボックスからのコンテンツが追加される場合、ガイド列があろう。

フォームセクション

<div class="form-group"> 
    <p class="text-center"> 
    <label for="article">Article Content:</label> 
    <div class="field_wrapper"> 
     <div> 
     <textarea name="field_name[]" class="form-control summer"></textarea> 
     <a href="javascript:void(0);" class="add_button" title="Add field">+ Add Step</a> 
     </div> 
    </div> 
    <script> 
     $(document).ready(function() { 
     var maxField = 20; 
     var x = 1; 
     var addButton = $('.add_button'); 
     var wrapper = $('.field_wrapper'); 
     var fieldHTML = '<div><textarea name="field_name[]" class="form-control summer"></textarea><a href="javascript:void(0);" class="remove_button" title="Remove field">- Remove Step</a></div>'; 
     $(addButton).click(function(){ 
      $(document).ready(function() { 
      $('.summer').summernote({ 
       placeholder: 'Step ' + x 
      }); 
      }); 
      if(x < maxField){ 
      x++; 
      $(wrapper).append(fieldHTML); 
      } 
     }); 
     $(wrapper).on('click', '.remove_button', function(e){ 
      e.preventDefault(); 
      $(this).parent('div').remove(); 
      x--; 
     }); 
     }); 
     $(document).ready(function() { 
     $('.summer').summernote({ 
      placeholder: 'Step 1' 
     }); 
     }); 
    </script> 
    </p> 
</div> 

私は私がして、すべての送信されたデータをつかむことができます知っている:

$fieldvals = $_REQUEST['field_name']; 
foreach($fieldvals as $value){ 
    // DO STUFF HERE 
} 

私は実際に "ガイド" の各ステップを配置するために何を使うのでしょうか?私はステップの一つは、カンマが含まれているかのように、それは混乱それをだろう、正しいけれども破のためにカンマを使用することはできません

$input[] = $value 
$data = implode(',', $input) 
INSERT INTO ..... 

は、私は次のように何かをするだろう?

UPDATE

Iは、以下の提案から次のJSON出力を受けました。これを「ガイド」の列に入れる方法がわからないのですか?

["TEST STEP 1<\/p>", 
"TEST STEP 2<\/p>", 
"TEST STEP 3<\/p>"] 

答えて

2

エルロメート。

私はあなたが json_encode($配列)json_decodeを使うべきだと思う

($ JSON、$ true_or_false)代わり破($接着剤は、$ ARR)($区切り、$ strを)爆発、コンマはユニコード文字、配列、ブール値だけでなく、物事を混乱させません。

//Example 
$values = 
    [ 
    'something' => 'something, something, something else', 
    'something_else' => 'something else', 
    'double_quotes' => 'something with double quotes "¿que pasa wey?"', 
    'chingadera' => "something with ' as apostrophe", 
    'coisa' => 'acentuação em ação na missão', 
    'taiwan' => '台灣', 
    'capital' => 
     [ 
      'brazil' => 
       [ 
        'pt_BR' => 'Brasília', 
        'zh_TW' => 'You dont know, neither do I' 
       ], 
      'taiwan' => 
       [ 
        'zh_TW' => '台北', 
        'en_GB' => 'Taipei', 
        'pt_BR' => 'Taipé' 
       ] 
     ], 
    'bool' => true 
    ]; 
$json = json_encode($values); 
echo $json; 

そして今、あなたが得た:

/*I've pretty printed the JSON for better readability, it will be an one line string*/ 
{ 
    "something": "something, something, something else", 
    "something_else": "something else", 
    "double_quotes": "something with double quotes \"\u00bfque pasa wey?\"", 
    "chingadera": "something with ' as apostrophe", 
    "coisa": "acentua\u00e7\u00e3o em a\u00e7\u00e3o na miss\u00e3o", 
    "taiwan": "\u53f0\u7063", 
    "capital": { 
    "brazil": { 
     "pt_BR": "Bras\u00edlia", 
     "zh_TW": "You dont know, neither do I" 
    }, 
    "taiwan": { 
     "zh_TW": "\u53f0\u5317", 
     "en_GB": "Taipei", 
     "pt_BR": "Taip\u00e9" 
    } 
    }, 
    "bool": true 
} 

あなたのDB列にこの文字列を挿入することができます。 今それを

/*JSON to array 
Pass true as the second arg on json_decode($json, $bool)*/ 
$array = json_decode($json, true); //you must pass true as the second arg 
echo $array['chingadera']; //'something with \' as apostrophe' 
echo $array['taiwan']; //'台灣' 
echo $array['capital']['brazil']['pt_BR']; //'Brasília' 

/*JSON to STDClass Object 
Don't pass anything as the second arg*/ 
$object = json_decode($json); 
echo $object->double_quotes; //'something with double quotes "¿que pasa wey?"' 
echo $object->capital->taiwan->zh_TW; //'台北' 
echo $object->bool; //1 

を復号するためにその時間はあなたはかなりあなたの「ガイド」の列は、私はと私の元の質問を編集した文字

+0

の良い量をサポートすることを確認してくださいhere

あなたJSONSを印刷することができますjson_decodeからの出力。これらのステップを「ガイド」列だけに追加する方法がわかりません。 –

+0

さて、** json_encode($ values)**を**デコード**の代わりにガイドの列に保存する必要があります。これは文字列になります。 データベースからそれを選択すると、** json_decode($ json、$ bool)**の値を読み取る必要があります。これは配列またはオブジェクトで、$ bool(配列の場合はtrue)をデポジットします。 –

+0

仕事に就いた!ありがとうございました! –

関連する問題