Как мне вернуть результаты для столбца provision_id, чтобы они были условны для contract.id для каждой строки? Прямо сейчас я получаю одинаковый результат в каждом ряду. Желаемый эффект подобен VLookup в Excel. Не знаю, как использовать значения if / 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. Я пытаюсь сделать условное_доставление условным, основываясь на идентификаторах Адама, Билла и Чада, а не на именах, хотя я не хочу, чтобы этот идентификатор отображался в выводе php.
В сущности, я хочу, чтобы PHP "искал" идентификатор (он же id члена) и напечатал соответствующий provision_id. Объединение таблиц, вероятно, не будет работать в этом случае, так как я также вытаскиваю «всплывающие подсказки» из таблицы как эффект наведения мыши на A1, B1, C1 и т. Д.
ПРИЛОЖЕНИЕ 1 - иначе то, что также происходило. Я не смог объяснить (пытаясь сделать это проще), что у Адама Билла и Чада более одного идентификатора. У Адама есть идентификаторы положения: 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