根据 forloop 中的组名显示数据 php
Display data as per their group name inside forloop php
我有客户、代理和余额 table。
我想根据他们所属的代理名称显示数据。
for ex - 在下面的客户 table,我有 agentId 和 prodname,每个代理有多个产品,如 abc 和 def 属于代理 raj,xyz prod 属于代理 test,所以 raj 和 test 将显示一次。
余额 table 有 bal_amt 与他们的 agent_id 关联,因此 bal_amt 将显示在每个代理名称的页脚上。
Customertable
id agent_id catname
1 1 abc
2 1 def
3 2 xyz
Agenttable
id name
1 raj
2 test
Balancetable
id agent_id bal_amt
1 1 25000
2 2 7000
我的sql查询数据
Array
(
[id] => 73
[agent_id] => 5
[prodname] => abc
[subprodname] => test
[quantity] => 2
[rate] => 120
[amount] => 240
[paid_amount] => 240
[balance] => Array
(
[agent_id] => 5
[bal_amt] => 14000
)
[agent] => Array
(
[id] => 5
[name] => Duryodhan nimbarte
)
)
Array
(
[id] => 72
[agent_id] => 5
[prodname] => abc
[subprodname] => test
[quantity] => 5
[rate] => 200
[amount] => 1000
[paid_amount] => 700
[balance_amount] => 300
[balance] => Array
(
[agent_id] => 5
[bal_amt] => 14000
)
[agent] => Array
(
[id] => 5
[name] => Duryodhan nimbarte
)
)
Array
(
[id] => 71
[agent_id] => 6
[prodname] => abc
[subprodname] => test
[quantity] => 3
[rate] => 200
[amount] => 600
[paid_amount] => 200
[balance_amount] => 400
[is_deleted] => 0
[balance] => Array
(
[agent_id] => 6
[bal_amt] => 14000
)
[agent] => Array
(
[id] => 6
[name] => Narhari Hedau
)
)
预期结果
Agentname catname subprodname quantity rate amount paid_amount
raj
abc test 10 5 100 80
def def 25 5 300 200
25000
test
xyz cde 35 10 1800 700
7000
下面是我的代码
<?php
$finalArray = [];
foreach ($customerlist as $user) {
$finalArray[$user['agent']['name']][] = $user;
}
foreach ($finalArray as $key => $value) {
?>
<tr>
<td colspan="3"><?php echo $key; ?></td>
</tr>
<?php foreach ($value as $user) { ?>
<tr>
<td> </td>
<td><?php if(!empty($user['product']['name'])){echo $user['product']['name']; } ?></td>
</tr>
<?php } } ?>
现在我低于结果
Agentname catname
raj
abc
def
test
xyz
试试这个代码。
<?php
$customerlist = [ ['id' => 1, 'agent_id' => 1, 'prodname' => 'abc', "subprodname" => "test", "quantity" => 2, "rate" => 120, "amount" => 240,
"paid_amount" => 240, 'balance' => [ 'agent_id' => 1, 'bal_amt'=> 25000], 'agent' => ['name' => "raj"] ],
['id' => 2, 'agent_id' => 1, 'prodname' => 'def', "subprodname" => "test", "quantity" => 5, "rate" => 200, "amount" => 1000,
"paid_amount" => 700, 'balance' => [ 'agent_id' => 1, 'bal_amt'=> 25000], 'agent' => ['name' => "raj"] ],
['id' => 3, 'agent_id' => 2, 'prodname' => 'xyz', "subprodname" => "test", "quantity" => 3, "rate" => 200, "amount" => 600,
"paid_amount" => 200, 'balance' => [ 'agent_id' => 2, 'bal_amt'=> 7000], 'agent' => ['name' => "test"] ]
];
$finalArray = [];
foreach ($customerlist as $user) {
$finalArray[$user['agent']['name']]['x']['prodname'] = $user['balance']['bal_amt'];
$finalArray[$user['agent']['name']]['x']['agent'] = $user['agent']['name'];
}
foreach ($customerlist as $user) {
$finalArray[$user['agent']['name']][] = $user;
}
foreach ($finalArray as $key => $value) {
?>
<table border= "1px solid black">
<?php
foreach ( $value as $user) { ?>
<tr>
<td><?php if(!is_array($user['agent'])){ echo $user['agent'];} ?></td>
<td><?php echo $user['prodname']; /*if(!empty($user['product']['name'])){ }*/ ?></td>
<td><?php if(!empty($user['subprodname'])){ echo $user['subprodname'];} ?></td>
<td><?php if(!empty($user['quantity'])){ echo $user['quantity']; } ?></td>
<td><?php if(!empty($user['rate'])){ echo $user['rate']; } ?></td>
<td><?php if(!empty($user['amount'])){ echo $user['amount']; } ?></td>
<td><?php if(!empty($user['paid_amount'])){ echo $user['paid_amount']; } ?></td>
</tr>
<?php } } ?>
</table>
输出:
Agentname catname subprodname quantity rate amount paid_amount
raj 25000
abc test 10 5 100 80
def def 25 5 300 200
test 7000
xyz cde 35 10 1800 700
我有客户、代理和余额 table。 我想根据他们所属的代理名称显示数据。
for ex - 在下面的客户 table,我有 agentId 和 prodname,每个代理有多个产品,如 abc 和 def 属于代理 raj,xyz prod 属于代理 test,所以 raj 和 test 将显示一次。
余额 table 有 bal_amt 与他们的 agent_id 关联,因此 bal_amt 将显示在每个代理名称的页脚上。
Customertable
id agent_id catname
1 1 abc
2 1 def
3 2 xyz
Agenttable
id name
1 raj
2 test
Balancetable
id agent_id bal_amt
1 1 25000
2 2 7000
我的sql查询数据
Array
(
[id] => 73
[agent_id] => 5
[prodname] => abc
[subprodname] => test
[quantity] => 2
[rate] => 120
[amount] => 240
[paid_amount] => 240
[balance] => Array
(
[agent_id] => 5
[bal_amt] => 14000
)
[agent] => Array
(
[id] => 5
[name] => Duryodhan nimbarte
)
)
Array
(
[id] => 72
[agent_id] => 5
[prodname] => abc
[subprodname] => test
[quantity] => 5
[rate] => 200
[amount] => 1000
[paid_amount] => 700
[balance_amount] => 300
[balance] => Array
(
[agent_id] => 5
[bal_amt] => 14000
)
[agent] => Array
(
[id] => 5
[name] => Duryodhan nimbarte
)
)
Array
(
[id] => 71
[agent_id] => 6
[prodname] => abc
[subprodname] => test
[quantity] => 3
[rate] => 200
[amount] => 600
[paid_amount] => 200
[balance_amount] => 400
[is_deleted] => 0
[balance] => Array
(
[agent_id] => 6
[bal_amt] => 14000
)
[agent] => Array
(
[id] => 6
[name] => Narhari Hedau
)
)
预期结果
Agentname catname subprodname quantity rate amount paid_amount
raj
abc test 10 5 100 80
def def 25 5 300 200
25000
test
xyz cde 35 10 1800 700
7000
下面是我的代码
<?php
$finalArray = [];
foreach ($customerlist as $user) {
$finalArray[$user['agent']['name']][] = $user;
}
foreach ($finalArray as $key => $value) {
?>
<tr>
<td colspan="3"><?php echo $key; ?></td>
</tr>
<?php foreach ($value as $user) { ?>
<tr>
<td> </td>
<td><?php if(!empty($user['product']['name'])){echo $user['product']['name']; } ?></td>
</tr>
<?php } } ?>
现在我低于结果
Agentname catname
raj
abc
def
test
xyz
试试这个代码。
<?php
$customerlist = [ ['id' => 1, 'agent_id' => 1, 'prodname' => 'abc', "subprodname" => "test", "quantity" => 2, "rate" => 120, "amount" => 240,
"paid_amount" => 240, 'balance' => [ 'agent_id' => 1, 'bal_amt'=> 25000], 'agent' => ['name' => "raj"] ],
['id' => 2, 'agent_id' => 1, 'prodname' => 'def', "subprodname" => "test", "quantity" => 5, "rate" => 200, "amount" => 1000,
"paid_amount" => 700, 'balance' => [ 'agent_id' => 1, 'bal_amt'=> 25000], 'agent' => ['name' => "raj"] ],
['id' => 3, 'agent_id' => 2, 'prodname' => 'xyz', "subprodname" => "test", "quantity" => 3, "rate" => 200, "amount" => 600,
"paid_amount" => 200, 'balance' => [ 'agent_id' => 2, 'bal_amt'=> 7000], 'agent' => ['name' => "test"] ]
];
$finalArray = [];
foreach ($customerlist as $user) {
$finalArray[$user['agent']['name']]['x']['prodname'] = $user['balance']['bal_amt'];
$finalArray[$user['agent']['name']]['x']['agent'] = $user['agent']['name'];
}
foreach ($customerlist as $user) {
$finalArray[$user['agent']['name']][] = $user;
}
foreach ($finalArray as $key => $value) {
?>
<table border= "1px solid black">
<?php
foreach ( $value as $user) { ?>
<tr>
<td><?php if(!is_array($user['agent'])){ echo $user['agent'];} ?></td>
<td><?php echo $user['prodname']; /*if(!empty($user['product']['name'])){ }*/ ?></td>
<td><?php if(!empty($user['subprodname'])){ echo $user['subprodname'];} ?></td>
<td><?php if(!empty($user['quantity'])){ echo $user['quantity']; } ?></td>
<td><?php if(!empty($user['rate'])){ echo $user['rate']; } ?></td>
<td><?php if(!empty($user['amount'])){ echo $user['amount']; } ?></td>
<td><?php if(!empty($user['paid_amount'])){ echo $user['paid_amount']; } ?></td>
</tr>
<?php } } ?>
</table>
输出:
Agentname catname subprodname quantity rate amount paid_amount
raj 25000
abc test 10 5 100 80
def def 25 5 300 200
test 7000
xyz cde 35 10 1800 700