質問

PayPalのMassPayを使用してテストしています。MassPay NVPの例'そして、私はコードを修正しようとするのが難しいので、MySQLデータベースからデータを入力します。

基本的に、MySQLには、電子メールアドレス、支払いのステータス(有料、未払い)、残高が含まれているユーザーテーブルがあります。

CREATE TABLE `users` (
  `user_id` int(10) unsigned NOT NULL auto_increment,
  `email` varchar(100) collate latin1_general_ci NOT NULL,
  `status` enum('unpaid','paid') collate latin1_general_ci NOT NULL default 'unpaid',
  `balance` int(10) NOT NULL default '0',
  PRIMARY KEY  (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci

データ :

1   test1@example.net   paid    100
2   test2@example.net   unpaid  11
3   test3@example.net   unpaid  20
4   test4@example.net   unpaid  1
5   test5@example.net   unpaid  20
6   test6@example.net   unpaid  15

次に、10ドル以上の未払い残高を持つユーザーを選択するクエリを作成しました。

  $conn = db_connect();
  $query=$conn->query("SELECT * from users WHERE 
                       balance >='10'
                       AND status = ('unpaid')"); 

以下のコードを入力するために、クエリから返された各レコードに対して私が望むのは次のとおりです。

今、私が修正する必要があると思うコードは次のとおりです。

    for($i = 0; $i < 3; $i++) {
    $receiverData = array(  'receiverEmail' => "user$i@paypal.com",
                            'amount' => "example_amount",);
    $receiversArray[$i] = $receiverData;
}

しかし、私はそれを動作させることができません、私はmysqli_fetch_arrayを使用しようとしました、そして、さまざまな方法で$ row ['email']および「example_amount」をrow ['balance']で「user$i@paypal.com」と「embles_amount」に置き換えましたコーディングのものですが、機能しません。また、クエリから取得された多くの行にループする必要があります。

ですから、私が探している最終結果は、$ NVPSTR文字列がこのようなものを渡すことです。

$nvpStr = "&EMAILSUBJECT=test&RECEIVERTYPE=EmailAddress&CURRENCYCODE=USD&L_EMAIL0=$test2@example.net&L_Amt=11&L_EMAIL1=$test3@example.net&L_Amt=11&L_EMAIL2=$test3@example.net&L_Amt=20&L_EMAIL3=$test5@example.net&L_Amt=20&L_EMAIL0=$test6@example.net&L_Amt=15";

ありがとう

役に立ちましたか?

解決

いくつかの試行錯誤の後、私は問題を解決しました:

   <?php
     $nvpStr="&EMAILSUBJECT=$emailSubject&RECEIVERTYPE=$receiverType&CURRENCYCODE=$currency";   

$conn = db_connect();
  $query=$conn->query("SELECT email,balance from users WHERE 
                       balance >='10'
                       AND status = ('unpaid')");
$i = 0;
  while ($i <= mysqli_fetch_row) {
    while($row = mysqli_fetch_object($query)) { 
      $nvpStr.="&L_EMAIL$i=$row->email&L_Amt$i=$row->balance"; 
      $i++;    
}
}

    ?>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top