首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Masspay和MySql

Masspay和MySql
EN

Stack Overflow用户
提问于 2010-04-27 08:05:51
回答 1查看 411关注 0票数 0

我正在测试贝宝的masspay使用他们的'MassPay NVP example‘,我有困难试图修改代码,所以输入数据从我的MySql数据库。

基本上我有在MySql的用户表,其中包含电子邮件地址,付款状态(已支付,未支付)和余额。

代码语言:javascript
复制
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

数据:

代码语言:javascript
复制
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及以上的用户:

代码语言:javascript
复制
  $conn = db_connect();
  $query=$conn->query("SELECT * from users WHERE 
                       balance >='10'
                       AND status = ('unpaid')"); 

我想为查询返回的每条记录填充下面的代码:

现在我认为我需要修改的代码如下:

代码语言:javascript
复制
    for($i = 0; $i < 3; $i++) {
    $receiverData = array(  'receiverEmail' => "user$i@paypal.com",
                            'amount' => "example_amount",);
    $receiversArray[$i] = $receiverData;
}

然而,我就是不能让它工作,我试着使用mysqli_fetch_array,然后在各种编码方法中用$row‘’email‘替换"user$i@paypal.com“,用row’‘balance’替换"example_amount”,但都不起作用。此外,我还需要它循环到上面的for循环中从查询中检索到<3的行数。

所以我要寻找的最终结果是让$nvpStr字符串传递如下所示:

代码语言:javascript
复制
$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";

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-27 20:21:21

经过反复试验,我已经解决了这个问题:

代码语言:javascript
复制
   <?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++;    
}
}

    ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2717861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档