2011-10-11 31 views
9

Như ví dụ bên dưới cho thấy cách gọi trên các trường, câu hỏi của tôi là cách gọi một hộp kiểm được chọn nhiều. vui lòng cho tôi một ví dụCách liệt kê đăng ký trong Groups Mailchimp API 1.3

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

Tôi nhận được giải pháp cho việc này.

Để có hộp kiểm được chọn nhiều, bạn cần lặp vòng và đặt nó thành mảng sau đó thay đổi mảng thành chuỗi.

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

      $values[] = $val; 

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

sau đó đặt nó trong merge_vars

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

Hy vọng nó sẽ giúp :)

+0

không dễ dàng hơn khi chỉ chạy đoạn mã trên $ _POST ["hộp danh sách"]? – Atheist

+0

cảm ơn, nó thực sự giúp tôi vì tài liệu của họ thiếu một ví dụ về cách xây dựng mảng này của các nhóm –

+0

bạn nên di chuyển câu trả lời của bạn từ phần Câu hỏi thành câu trả lời chấp nhận nó vì nó hoạt động –

Trả lời

1

Bạn phải đặt cách nhau bởi dấu phẩy nhưng bạn phải đảm bảo rằng họ có dấu phẩy thoát:

$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' 
     ) 
    ) 
); 

Nếu bạn chắc chắn rằng chuỗi sở thích không có dấu phẩy, bạn chỉ có thể thực hiện việc này:

$groups = implode(',', $_POST['listbox']); 
Các vấn đề liên quan