在透视行中显示按日期计数的php代码
数据库中的数据如下所示 列名 测量员姓名-瓦查尔 预订日期-varchar在透视行中显示按日期计数的php代码,php,Php,数据库中的数据如下所示 列名 测量员姓名-瓦查尔 预订日期-varchar surveyor bookingdate receipt_no raj 19-03-2015 55 raj 19-03-2015 55 raj 19-03-2015 55 raj 19-03-2015 55 raj 19-03-2015 55 raj 19
surveyor bookingdate receipt_no
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
收据编号-varchar
surveyor bookingdate receipt_no
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 55
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
raj 19-03-2015 56
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
sudnyesh 20-03-2015 700
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
angel 24-03-2015 702
预期产量
但我的代码显示输出如下
有人能帮我显示我想要的正确输出吗
下面是我的代码
对于EX-在我的预期输出中
raj于2015年3月19日创建了2张收据55,56,因此我们在2015年3月19日下方的raj面前显示了总计2张收据
苏德涅什于2015年3月20日创建了1700张收据,因此我们在苏德涅什面前显示了2015年3月20日以下的总数1张收据,以此类推
请帮助我实现这一目标
<?php $book = $database->getRows("SELECT DISTINCT bookingdate FROM receipt_entry"); ?>
<?php $data = $database->getRows("select surveyor_name, count(DISTINCT receipt_no) As total,bookingdate from receipt_entry group by surveyor_name,bookingdate"); ?>
<table border="1px solid #666" style="text-align:center;" cellpadding='0' cellspacing='0'>
<thead>
<tr>
<th>Surveyor Name</th>
<?php foreach($book as $date):?>
<?php $dates[] = $date['bookingdate'];?>
<th><?php echo $date['bookingdate'];?></th>
<?php endforeach;?>
</tr>
</thead>
<tbody>
<?php $j = 0;?>
<?php foreach($data as $key => $value):?>
<?php $names[] = $value['surveyor_name'];?>
<?php $uniValues = array_count_values($names);?>
<?php if($uniValues[$value['surveyor_name']] == 1):?>
<tr>
<td>
<?php echo $value['surveyor_name'];?>
</td>
<?php $i = 0;?>
<?php foreach($book as $date):?>
<td align="center">
<?php if($names[$i] == $data[$j]['surveyor_name']):?>
<?php echo $data[$j]['total'];?>
<?php else:?>
<?php foreach($data as $dat):?>
<?php if($dat['surveyor_name'] == $names[$j] && $dates[$i] == $dat['bookingdate']):?>
<?php echo $dat['total'];?>
<?php endif;?>
<?php endforeach;?>
<?php endif;?>
</td>
<?php ++$i;?>
<?php endforeach;?>
</tr>
<?php endif;?>
<?php ++$j;?>
<?php endforeach;?>
</tbody>
</table>
瓦沙,我已经回答了你这个问题。你的数组是否按照我回答的要求正确格式化?可能重复的
<?php $book = $database->getRows("SELECT DISTINCT bookingdate FROM receipt_entry"); ?>
<?php $data = $database->getRows("select surveyor_name, count(DISTINCT receipt_no) As total,bookingdate from receipt_entry group by surveyor_name,bookingdate"); ?>
<table border="1px solid #666" style="text-align:center;" cellpadding='0' cellspacing='0'>
<thead>
<tr>
<th>Surveyor Name</th>
<?php foreach($book as $date):?>
<?php $dates[] = $date['bookingdate'];?>
<th><?php echo $date['bookingdate'];?></th>
<?php endforeach;?>
</tr>
</thead>
<tbody>
<?php $j = 0;?>
<?php foreach($data as $key => $value):?>
<?php $names[] = $value['surveyor_name'];?>
<?php $uniValues = array_count_values($names);?>
<?php if($uniValues[$value['surveyor_name']] == 1):?>
<tr>
<td>
<?php echo $value['surveyor_name'];?>
</td>
<?php $i = 0;?>
<?php foreach($book as $date):?>
<td align="center">
<?php if($names[$i] == $data[$j]['surveyor_name']):?>
<?php echo $data[$j]['total'];?>
<?php else:?>
<?php foreach($data as $dat):?>
<?php if($dat['surveyor_name'] == $names[$j] && $dates[$i] == $dat['bookingdate']):?>
<?php echo $dat['total'];?>
<?php endif;?>
<?php endforeach;?>
<?php endif;?>
</td>
<?php ++$i;?>
<?php endforeach;?>
</tr>
<?php endif;?>
<?php ++$j;?>
<?php endforeach;?>
</tbody>
</table>