2011-10-11 16 views
9

जैसा कि नीचे दिया गया उदाहरण दिखाता है कि फ़ील्ड पर कॉल कैसे करें, मेरा प्रश्न यह है कि एकाधिक चेक किए गए चेकबॉक्स को कैसे कॉल करें। कृपया मुझे एक उदाहरण देंसमूह सूची में सदस्यता लें 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'), 
        ) 
       ); 

मुझे इसके लिए समाधान मिलता है।

एकाधिक चेक किए गए चेकबॉक्स प्राप्त करने के लिए आपको लूपिंग करने और इसे सरणी में सेट करने की आवश्यकता है, फिर सरणी को स्ट्रिंग में बदलें।

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

आशा है कि यह मदद करता है :)

+0

क्या यह केवल $ _POST ["listbox"] पर इंपोड चलाने के लिए आसान नहीं होगा? – Atheist

+0

धन्यवाद, यह वास्तव में मेरी मदद करता है क्योंकि मैं उनके दस्तावेज़ों के समूह के इस सरणी को बनाने के उदाहरण के उदाहरण की कमी का उदाहरण देता हूं –

+0

आपको अपने उत्तर को प्रश्न अनुभाग से एक जवाब में ले जाना चाहिए क्योंकि यह काम करता है –

उत्तर

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']); 
संबंधित मुद्दे