Эй, ребята мне нужна помощь с ассоциативным массивомАссоциативный массив между двумя таблицами MySQL и для каждого цикла
Вот что у меня есть.
У меня есть две таблицы mysql, называемые пользователями ... Настройка вроде этого.
[ MYSQL DB users] *************************************** Id------name-------empnum------amount 1 ------testa------123456------40.00 2 ------testb------652526------300.00 3 ------Testc------919825------100.00 4 ------Testd------354694------50.00
И другой db настроен следующим образом.
[ MYSQL DB po ] *************************************** Id------ponum------reason----empnum---------total------reason 1 ------1234------testa------123456---------40.00------Demo 2 ------1235------testb------652526--------300.00------Demo 3 ------1236------Testc------919825--------100.00------other 4 ------1237------Testd------123456---------50.00------Demo
Что мне нужно сделать, это выбрать каждого пользователя от «Пользователи» дб, а затем найти их в «Ро» дб
Тогда мне нужно сложить в общей сложности они потратили (ДДУ) и сравните его с количеством от пользователей db.
У меня есть эта диаграмма javascript, которую я хотел бы показывать рядом с именем каждого человека, чтобы показать им, как близко к 100% они потратили.
<div id="progressBar<? echo $id; ?>" class="default"><div></div></div>
<script>
progressBar(<?php echo round(($sum/$total) * 100); ?>, $('#progressBar<? echo $id; ?>'));
</script>
Мой вопрос Как я идти об этом. Моя первая мысль состояла в том, чтобы использовать ассоциативный массив и получить количество и empnum от пользователей, а затем вытащить эту информацию из mysql, а затем сравнить это с суммой .... Некоторые, где между точками a и b я теряюсь. У меня нет большого понимания того, как A-массив работает с mysql и двумя таблицами. из того, что я нашел, похоже, что мне придется использовать для каждого цикла. Я иду об этом неправильно. Есть ли более простой способ ???
хмм я не использовал левое соединение раньше. Что было бы в u.amount и p в p.total – Kelly
+1, пусть база данных будет делать то, что она должна, нет необходимости, чтобы приложение выполняло это во время цикла. «u» является псевдонимом для пользователей, а «p» является псевдонимом для po: 'FROM users u LEFT JOIN po p' –
Извините @sammithc, вы ошибаетесь, имя db po должно быть fpo, вот что у меня сейчас нет шва для работы .'code ' $ con = new mysqli («localhost», «******», «***», «*****»); ?> $ result = mysqli_query ($ con, "SELECT u.amount, SUM (p.total) 'po_total' ОТ пользователей u LEFT JOIN fpo p ON u.empnum = p.empnum GROUP BY p.empnum"); while ($ row = mysqli_fetch_array ($ result)) { echo $ percent = $ row ['total']/$ row ['amount']; echo "
"; } ?> – Kelly