9

以下の例はフィールドを呼び出す方法を示しているので、私の質問は複数のチェックボックスを呼び出す方法です。例を挙げてください

   $merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 
              'GROUPINGS'=>array(
                    array('name'=>'Your Interests:', 'groups'=>'Bananas,Apples'),
                    array('id'=>22, 'groups'=>'Trains'),
                    )
                );

私はこれに対する解決策を手に入れました。

複数のチェックボックスをオンにするには、ループを実行して配列に設定してから、配列を文字列に変更する必要があります。

 if(!empty($_POST['listbox']))
    {
        foreach($_POST['listbox'] as $value => $val)
        {

            $values[] = $val;

        }
         $groups = implode(",", $values);
    } 

次に、merge_varsに設定します

 $merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 
          'GROUPINGS'=>array(
                array('name'=>'Your Interests:', 'groups'=> $groups)
                )
            );

それが役に立てば幸い :)

4

1 に答える 1

1

コンマで区切って配置する必要がありますが、コンマがエスケープされていることを確認する必要があります。

$groups = array();
if(!empty($_POST['listbox'])) {
    $interests = array();
    foreach($_POST['listbox'] as $interest)
    {
        $interests[] = str_replace(',', '\,', $interest);
    }

    $groups = implode(",", $interests);
}

$merge_vars = array(
    'FNAME'=>'Test', 
    'LNAME'=>'Account', 
    'GROUPINGS'=> array(
        array(
            'name'=>'Your Interests:', 
            'groups'=> $groups
        ),
        array(
            'id'=>22, 
            'groups'=>'Trains'
        )
    )
);

興味のある文字列にカンマが含まれていないことが確実な場合は、次のようにします。

$groups = implode(',', $_POST['listbox']);
于 2013-01-19T16:53:31.227 に答える