テーブル「profile_values」(はい、Drupal データベースです) を持つ SQL データベースがあり、ユーザーの名前、役職、および会社 ID を 1 つのクエリで取得したいと考えています。(過去に 3 つのクエリでこれを実行しましたが、1 つのクエリで実行したいと思います。)
| fid | uid | value
| 4 | 100 | john
| 8 | 100 | doe
| 9 | 100 | web developer
| 22 | 100 | D3239GE77
異なるフィールド ID (fid) を使用して、プルする行の間にフィールド ID が存在する可能性があることを示しましたが、フィールド ID は変更されないため、4 は常に名、8 は姓、9 は次のようになります。タイトル、22 は企業 ID です。
私の最初の試み:
$result = mysql_query("SELECT value FROM profile_values WHERE uid = '$uid' ORDER BY fid ASC");
while($row = mysql_fetch_array($result)) {
$userinfo[] = $row['value'];
$firstname = $userinfo[0];
$lastname = $userinfo[1];
$title = $userinfo[10];
$companyid = $userinfo[12];
}
ただし、この方法は機能しません。ユーザーが入力するオプション フィールドによっては、間にフィールドが多かれ少なかれ含まれる可能性があるためです。
「この配列では、fid = 4 の場合、$firstname = 値