Ассоциативный массив между двумя таблицами mysql и для каждого цикла

Эй, ребята, мне нужна помощь с ассоциативным массивом

Вот что у меня есть.

У меня есть две таблицы MySQL, один из которых называется пользователи … Настройка, как это.

[Пользователи базы данных MYSQL]
***************************************
Id ------ имя ------- ------ empnum сумма
1 ------ testa ------ 123456 ------ 40.00
2 ------ testb ------ 652526 ------ 300.00
3 ------ Testc ------ 919825 ------ 100.00
4 ------ Testd ------ 354694 ------ 50.00

А другой БД настроен так.

[MYSQL DB po]
***************************************
Id ------ ponum ------ причина ---- empnum --------- ------ общая причина
1 ------ 1234 ------ testa ------ 123456 --------- 40.00 ------ Демонстрация
2 ------ 1235 ------ testb ------ 652526 -------- 300.00 ------ Демонстрация
3 ------ 1236 ------ Testc ------ 919825 -------- 100.00 ------ другое
4 ------ 1237 ------ Testd ------ 123456 --------- 50.00 ------ Демонстрация

Что мне нужно сделать, это выбрать каждого пользователя из базы данных «Users», а затем найти их в базе данных «Po»

Затем мне нужно сложить общую сумму, которую они потратили (в ПО) и сравнить ее с суммой от дБ пользователей.

У меня есть эта гистограмма javascript, которую я хотел бы отобразить рядом с именами каждого человека, чтобы показать им, насколько близко они потратили 100%.

<div id="progressBar<? echo $id; ?>" class="default"><div></div></div>
<script>
progressBar(<?php echo round(($sum/$total) * 100); ?>, $('#progressBar<? echo $id; ?>'));
</script>

Мой вопрос
Как мне это сделать? Моей первой мыслью было использовать ассоциативный массив и получать количество и значение от пользователей, а затем извлекать эту информацию из mysql, а затем сравнивать ее с итоговыми значениями. В некоторых местах между точками a и b я теряюсь. Я не очень хорошо понимаю, как работает A-массив с mysql и двумя таблицами.
из того, что я обнаружил, похоже, мне придется использовать для каждого цикла. ??
Я иду по этому пути неправильно .. Есть ли более простой способ ???

0

Решение

Вы можете сделать большую часть этого в одном запросе:

SELECT u.amount, SUM(p.total) 'po_total'
FROM users u LEFT JOIN po p
ON u.empnum = p.empnum
GROUP BY p.empnum

А потом:

$percentage = $row['po_total'] / $row['amount'];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]