0

次のようなcurlリクエストがあります:

curl -d 'api_user=your_sendgrid_username&api_key=your_sendgrid_password&list=my_list&data[]={"email":"address1@domain.com","name":"contactName1"}&data[]={"email":"address2@domain.com","name":"contactName2"}' https://sendgrid.com/api/newsletter/lists/email/add.json

今、投稿に次のphpコードを使用しています

if(mysql_num_rows($res) > 0) {
    $data = array();
    while($new_signups = mysql_fetch_assoc($res)){
        $data['email'] = $new_signups['uEmail'];
        $data['name'] = $new_signups['firstName']." ".$new_signups['lastName'];
    }
}
$params = array(
    'api_user'  => $sengrid_user,
    'api_key'   => $sendgrid_pass,
    'list' =>'TestAlwin',
    'data' =>json_encode($data)
  );
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $request);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($ch);
curl_close($ch);

ただし、これは最後の結果のみを処理します。上記の curl リクエストで指定されたデータ値をさらに渡すにはどうすればよいですか? または、ループでカール転送を実行する必要がありますか?

4

2 に答える 2

0

データの多次元配列を作成できます。各配列値には、電子メールと名前のデータを含む別の配列が含まれています。

$c=1;
while($new_signups = mysql_fetch_assoc($res)){

    $data[$c]['email'] = $new_signups['uEmail'];
    $data[$c]['name'] = $new_signups['firstName']." ".$new_signups['lastName'];
    $c++;

}

したがって、データは次のようになります。

array(
   1 => array(
      'email' => 'test@test.nl',
      'name' => 'John'

   ),
   2 => array(
      'email' => 'test@gmail.com',
      'name' => 'Jack'

   ),
)
于 2013-09-13T08:49:16.977 に答える
0

データ配列を上書きしています常にこれを試してください

//multiple array
$data1 = array()


if(mysql_num_rows($res) > 0) {

    while($new_signups = mysql_fetch_assoc($res)){
        $data = array();
        $data['email'] = $new_signups['uEmail'];
        $data['name'] = $new_signups['firstName']." ".$new_signups['lastName'];
    //bind your single array here
    $data1[] = $data;
    }
}
$params = array(
    'api_user'  => $sengrid_user,
    'api_key'   => $sendgrid_pass,
    'list' =>'TestAlwin',
    'data' =>json_encode($data1)
  );
于 2013-09-13T09:00:37.980 に答える