各行の contract.id を条件とするように、provision_id 列の結果を返すにはどうすればよいですか? 現在、すべての行で同じ結果が得られます。望ましい効果は、Excel の VLookup のようなものです。ただし、if else/sql 値を使用して PHP でそれを実現する方法がわかりません。
関連コード:
<?php
global $wpdb;
$contents = $wpdb->get_results( $wpdb->prepare("SELECT id, name, remaining, contract_value FROM salaries"));
$contracts = $wpdb->get_results( $wpdb->prepare("SELECT contracts.id,source,provision,provision_id FROM contracts LEFT JOIN salaries ON contracts.id = salaries.id"));
?>
[table header stuff...]
foreach ($contents as $content) {
?>
<tr>
<td><?php echo $content->name ?></td>
<td><?php echo $content->remaining ?></td>
<td><?php echo $content->contract_value ?></td>
<td><?php foreach ($contracts as $contract) { echo $contract->provision_id }; ?>
</td>
電流出力
Name Remaining Contract_Value Provision_ID
-------------- --------------- -------------- --------------
Adam 100 300 A1 B1 C1
Bill 200 400 A1 B1 C1
Chad 200 400 A1 B1 C1
望ましい出力
Name Remaining Contract_Value Provision_ID
-------------- --------------- -------------- --------------
Adam 100 300 A1
Bill 200 400 B1
Chad 200 400 C1
ここで、A1、B1、C1 はそれぞれ、列 1 の人の名前に対応する格納されたデータ セルを表します。ID を PHP の出力に表示したくありませんが、provision_id を名前ではなく Adam、Bill、および Chad の ID に基づいて条件付きにしようとしています。
基本的に、PHP で ID (別名メンバー ID) を「検索」し、対応する provision_id を出力する必要があります。A1、B1、C1などのマウスオーバー効果としてテーブルから「ツールチップ」もプルしているため、この場合、テーブルの結合はおそらく機能しません。
付録 1 - 別名、何が起こっているか。Adam Bill と Chad がそれぞれ複数のプロビジョニング ID を持っていることを (簡単にするために) 説明できませんでした。Adam にはプロビジョニング ID があります。たとえば、A1、A2、および A3 です。以下の問題を回避しようとしています(GROUP_CONCATは機能しますが、各規定にマウスオーバーのツールチップがあるため、機能するとは思いません)。
Name Remaining Contract_Value Provision_ID
-------------- --------------- -------------- --------------
Adam 100 300 A1
Adam 100 300 A2
Adam 100 300 A3
Bill 200 400 B1
Bill 200 400 B2
Chad 200 400 C1