0

ブルガリアからこんにちは。初めての投稿です。うまく説明できていない場合は申し訳ありません。

オンライン語学コースのウェブサイト(PHP、MYSQL)で管理パネルを作成しています。私は見なければなりません:

  1. ウェブサイトに登録されているすべてのユーザーのリスト
  2. 有給無給問わずいずれかのコース(現時点では4コース)
  3. いずれかのコースのプロモーション コードをすでに入力している場合。

テーブル名と重要なテーブル列の名前は次のとおりです。

  1. ユーザー: user_id、email、real_name
  2. PAID_COURSES:有料コース ID、有料コース名
  3. USER_PAID_XREF: xref_id、user_id、paid_course_id
  4. バウチャー:バウチャー ID、ユーザー ID、バウチャー、有料コース ID

最終結果は次のような配列でなければならないと思います。

    array(2)
    { 
    [1]=> array(5) { 
    ["user_id"]=> string(1) "1", 
    ["email"]=> string(15) "email@email.com", 
    ["real_name"]=> string(5) "ANJEL" ,
    ["paid_course_id"]=> array(4) {
    [1]=> string(1) "1" 
    [2]=> string(1) "0" 
    [3]=> string(1) "1" 
    [4]=> string(1) "0"
    },
    ["voucher"]=> array(4) {
    [1]=> string(20) "VOUCHER-11111111111"
    [2]=> string(1) "0"
    [3]=> string(19) "VOUCHER-AAAAAAAAAAA"
    [4]=> string(1) "0"
    }
     }
    [2]=> array(5) { 
    ["user_id"]=> string(1) "2" 
    ["email"]=> string(16) "office@email.com" 
    ["real_name"]=> string(5) "MITKO" 
    ["paid_course_id"]=> array(4) {
    [1]=> string(1) "0" 
    [2]=> string(1) "1" 
    [3]=> string(1) "1" 
    [4]=> string(1) "0"
    },
   ["voucher"]=> array(4) {
    [1]=> string(1) "0"
    [2]=> string(20) "VOUCHER-22222222222"
    [3]=> string(19) "VOUCHER-BBBBBBBBBBB"
    [4]=> string(1) "0"
    }
     }

     }
  1. [1] => は user_id のキーです
  2. 配列には、有料コースの数の長さを持つ2つの追加配列があります(現時点での例には、英語、スペイン語などの4つの有料コースしかありません)
  3. ["paid_course_id"][1] => キー [1] ここは、paid_coursesテーブルからのpaid_course_id です
  4. ["paid_course_id"][2]=> string(1) "1" - ここでの値 "1" は次のとおりです: テーブルuser_paid_xrefに現在のpaid_course_id (この例ではpaid_course_id=2) の行がある場合、値は1行がない場合、値は0 (つまり、ユーザーがこのコースを支払ったか、ユーザーがこのコースを支払っていない)
  5. ["voucher"] [3] => string(19) "VOUCHER-BBBBBBBBBBB" - ここでは、配列要素のキーの payed_course_id と同じ。
  6. ["voucher"][3]=> string(19) " VOUCHER-BBBBBBBBBBB " - ここの値はテーブルVOUCHERS列の名前からのものです -バウチャー

それだけです 誰かがそれを理解してくれることを願っています。 前もって感謝します

4

2 に答える 2

0

複数のバウチャーと複数のコースを取得するには、左結合を使用できます

SELECT * FROM `USERS` u
LEFT JOIN `VOUCHERS` v ON (u.user_id = v.user_id)
LEFT JOIN `USER_PAID_XREF` upx ON (u.user_id = upx.user_id)
LEFT JOIN `PAID_COURSES` pc ON (upx.paid_course_id = pc.paid_course_id)
于 2013-08-16T21:47:42.937 に答える