0

メインテーブル USERS と別のテーブル DUES があります。ユーザー テーブルには、1 つのタイプのすべてのユーザーのリストが含まれ、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");

これで、最初の配列には支払う予定のすべてのユーザーのリストがあり、2 番目の配列には支払ったすべてのユーザーのリストがあります。CSVの配列に保存するときに、これを昇順で並べ替えるように提案してください..

4

1 に答える 1

0

これを確認してください。これは、最初のテーブルデータの存在を2番目のテーブルデータにチェックし、存在する場合はPAID、存在しない場合はUNPAIDをチェックします。2 番目の配列のユーザー 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 に答える