2

登録メンバーのフォーラムから連絡先の詳細を取得するページを作成しています。カスタム フィールドを取得しようとして少し問題が発生しました。大学とフライトの場合、ユーザーが特定のリストから選択できるように、ドロップダウン メニューが使用されます。ただし、フォーラムは 3 つの異なるテーブルを使用してデータを保存します。これはテーブルのごく一部です

データベースのモックアップ http://www.emuas.co.uk/images/db_mock_up.png

現時点では、uni クエリの uni とフライト クエリのフライトを取得していますが、結果は user_id とは無関係です。ただし、それを変更する方法がわかりません。

$user = "SELECT * 
  FROM profile_fields_data 
  JOIN users 
    ON profile_fields_data.user_id = users.user_id 
  ORDER BY users.username";

$uni = "SELECT * 
  FROM profile_fields_data
  JOIN users 
    ON profile_fields_data.user_id = users.user_id
  JOIN profile_fields_lang 
    ON profile_fields_data.pf_university = profile_fields_lang.option_id
  WHERE field_id =4
  ORDER BY users.username";

$flight = "SELECT * 
  FROM profile_fields_data
  JOIN users 
    ON profile_fields_data.user_id = users.user_id
  JOIN profile_fields_lang 
    ON profile_fields_data.pf_flight = profile_fields_lang.option_id
  WHERE field_id =3
  ORDER BY users.username";

$userdata = $db->sql_query($user);
$unidata = $db->sql_query($uni);
$flightdata = $db->sql_query($flight);
while($data = $db->sql_fetchrow($userdata))
{
  $datauni = $db->sql_fetchrow($unidata);
  $dataflight = $db->sql_fetchrow($flightdata);
  echo "<tr>
  <td> <a href='http://emuas.co.uk/forum/memberlist.php?mode=viewprofile&u=" .    $data['user_id'] . "'>" . $data['username'] . "</a></td>
  <td> <a href='mailto:" . $data['user_email'] . "'>" . $data['user_email'] . "</a>  </td>
  <td>" . $data['pf_contact_number'] . "</td>
  <td>" . $data['user_birthday'] . "</td>
  <td>" . $data['pf_service_number'] . "</td>
  <td>" . $datauni['lang_value'] . "</td>
  <td>" . $dataflight['lang_value'] . "</td>
  <td>" . $data['pf_secondary_duty'] . "</td>
  </tr>";

どうもありがとう

4

1 に答える 1