0

我有一个主表 USERS 另一个表 DUES。用户表包含一种类型的所有用户的列表,而 DUES 表仅包含那些已付费用户的详细信息。

我必须在 CSV 文件中列出付费和非付费用户才能下载。

我有一些查询来生成常见或不常见用户的列表,但问题是我必须将它们保持在升序中,我遇到了问题。我不知道如何循环,以便如果每个用户存在于 DUES 表中,则标记为 PAID,如果不存在,则标记为 UNPAID。

我得到的查询像 -

$all_user_list = db_query("SELECT u.uid,u.name FROM {users} u INNER JOIN {user_roles) ur ON u.uid=ur.uid WHERE ur.rid = 7 ORDER BY name ASC");

$all_paid_user = db_query("SELECT uid,name FROM {dues} WHERE nid = 2001");

现在第一个数组有所有应该付费的用户的列表,第二个有所有付费用户的列表。当我将它存储在CSV数组中时,请有人建议我按升序排列它。

4

1 回答 1

0

请检查这个。这将检查第一个表数据是否存在到第二个表数据中,如果存在则 PAID,如果不存在则 UNPAID。将第二个数组中的用户 ID 存储到名为 $secondarr 的数组中。

foreach($firstarr as $user)
{
 if(in_array($user['userid'],$secondarr))
  {
   $user['paid']=1;
  }
  else
  {
   $user['paid']=0;
  }  
}

$firstarr=sort($firstarr);
print_r($firstarr);
于 2013-01-15T11:18:33.423 回答