2011-10-11 8 views
9

Como el ejemplo a continuación muestra cómo llamar a los campos, mi pregunta es cómo llamar a una casilla de verificación múltiple. por favor dame un ejemploCómo listarSuscribirse en los grupos 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'), 
        ) 
       ); 

Tengo una solución para esto.

Para obtener la casilla de verificación múltiple, debe hacer un bucle y configurarlo en la matriz y luego cambiar la matriz a una cadena.

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

      $values[] = $val; 

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

luego otra vez en los merge_vars

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

espero que ayude :)

+0

¿No sería más fácil simplemente ejecutar la implosión en $ _POST ["listbox"]? – Atheist

+0

gracias, realmente me ha ayudado ya que en su documentación falta un ejemplo de cómo crear esta matriz de grupos –

+0

, debe mover su respuesta de la sección Pregunta a una respuesta y aceptarla ya que funciona –

Respuesta

1

debe poner el separadas por comas pero hay que asegurarse de que tienen comas escaparon:

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

Si está seguro de que la cadena de interés no tiene comas, puede hacer esto:

$groups = implode(',', $_POST['listbox']); 
Cuestiones relacionadas