【问题标题】:Associative array between two mysql tables and for each loop两个mysql表和每个循环之间的关联数组
【发布时间】:2014-11-24 05:54:10
【问题描述】:

大家好,我需要一些有关关联数组的帮助

这就是我所拥有的。

我有两个 mysql 表,一个叫做 users...像这样设置。

[MYSQL 数据库用户] ****************************************** Id-----name-----empnum-----amount 1 -----testa------123456-----40.00 2 ------testb-----652526-----300.00 3 ------Testc-----919825-----100.00 4 ------测试过-----354694-----50.00

另一个数据库是这样设置的。

[MYSQL数据库宝] ****************************************** Id------ponum-----reason----empnum---------total------reason 1 ------1234------testa------123456---------40.00-----演示 2 ------1235-----testb-----652526--------300.00-----Demo 3 ------1236------Testc------919825--------100.00------其他 4 ------1237-----Testd------123456---------50.00-----Demo

我需要做的是从“用户”数据库中选择每个用户,然后在“Po”数据库中找到他们

然后我需要将他们花费的总额(在 PO 中)相加,并将其与来自用户 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-array 如何与 mysql 和两个表一起工作没有很好的理解。 从我发现的情况来看,我似乎也必须为每个循环使用一个。?? 我是不是走错了路……有没有更简单的方法???

【问题讨论】:

    标签: php mysql sql arrays for-loop


    【解决方案1】:

    您可以在一个查询中完成大部分操作:

    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'];
    

    【讨论】:

    • 嗯,我以前没有使用过左连接。 u.amount 和 p.total 中的 p 是多少
    • +1,让数据库做它应该做的事情,没有必要让应用程序在循环时这样做。 “u”是用户的别名,“p”是 po 的别名:FROM users u LEFT JOIN po p
    • 对不起@sammithc 你错了数据库名称 po 应该是 fpo 这是我现在没有接缝工作的东西。'code' $con = new mysqli("localhost","******","***","*****"); ?> $result = mysqli_query($con,"SELECT u.amount, SUM(p.total) 'po_total' FROM users u LEFT JOIN fpo p ON u.empnum = p.empnum GROUP BY p.empnum"); while($row = mysqli_fetch_array($result)) { echo $percentage = $row['total'] / $row['amount'];回声“
      ”; } ?>
    猜你喜欢
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2021-12-27
    相关资源
    最近更新 更多