php中的循环或循环赋值


looping or round robin assignment in php

我有一个客户和雇员表:

Customers
    .account_no
    .zipcode
-----------------------
account_no  |  zipcode
-----------------------
1111000100  |  12345
1222000100  |  25678
1333000100  |  47890
1444000100  |  50000
1555000100  |  53456
1666000100  |  63987

Employees
    .id_e
    .zipcode_a
    .zipcode_b
    .card_id
---------------------------------------------
id_e  |  zipcode_a  |  zipcode_b  |  card_id
---------------------------------------------
1     |   10000     |   64000     |  1011
2     |   10000     |   54000     |  1002
3     |   50000     |   64000     |  1003

假设我有6个顾客,3个雇员;查询结果将如下所示:

---------------------------------
account_no  |  zipcode  |   id_e
---------------------------------
1111000100  |    12345  |     2
1111000100  |    12345  |     1
1222000100  |    25678  |     2
1222000100  |    25678  |     1
1333000100  |    47890  |     2
1333000100  |    47890  |     1
1444000100  |    50000  |     2
1444000100  |    50000  |     3
1444000100  |    50000  |     1
1555000100  |    53456  |     2
1555000100  |    53456  |     3
1666000100  |    63987  |     3
1666000100  |    63987  |     1

我想将这些客户帐户以循环或轮询的方式分配给每个员工,如下所示:

---------------------------------
account_no  |  zipcode  |   id_e
---------------------------------
1111000100  |    12345  |     2
1222000100  |    25678  |     1
1333000100  |    47890  |     2
1444000100  |    50000  |     1
1555000100  |    53456  |     3
1666000100  |    63987  |     1

我一直在尝试使用通常的循环,但结果是随机的,不理想的。

大家有什么想法吗?

您可以创建一个数组并覆盖前一个键,使每个邮政编码只加载最后一个id_e来拥有它例如:

如果你创建一个数组$myarray = array();在你的查询,当你从你的数据库导入值到你的数组…我会给你们代码但是我不知道你们是怎么导入它的;如果你能证明我能帮你正确地格式化它的话。

那么这就是您覆盖重复的邮政编码的地方,并且只使用具有相同邮政编码的最后一个id_e。Foreach ($myarray => $id_e){$myarray[$zipcode] = $id_e;}

我也假设你目前是,但要确保你的mysql查询包括" ORDER BY id_e"在它的末尾