【发布时间】:2016-05-01 22:20:33
【问题描述】:
如何计算不同表格单元格中的所有名称以获得这样的结果?
- 鲍勃-7
- Alex-3
- 伊万-5
- 尼娜-5
.........
使用此代码:
<?php
$q= mysqli_query($db, 'SELECT * FROM names');
while ($all = mysqli_fetch_array($q)) {
$k1= $all['Name1'];
$k2= $all['Name2'];
$k3= $all['Name3'];
$k4= $all['Name4'];
$k5= $all['Name5'];
$k6= $all['Name6'];
$arr[]= $k1;
$total_values = array_count_values($arr);
}
foreach ($total_values as $key => $value) {
echo $key .'-'. $value .'<br>';
}
我的输出结果是:
- 鲍勃-3
- 亚历克斯-1
- 伊万-1
- 尼娜-2
当我将代码更改为:
<?php
$q= mysqli_query($db, 'SELECT * FROM names');
while ($all = mysqli_fetch_array($q)) {
$k1= $all['Name1'];
$k2= $all['Name2'];
$k3= $all['Name3'];
$k4= $all['Name4'];
$k5= $all['Name5'];
$k6= $all['Name6'];
$arr=array($k1, $k2);
$total_values = array_count_values($arr);
foreach ($total_values as $key => $value) {
echo $key .'-'. $value .'<br>';
}
}
我的输出结果是:
- 鲍勃-1
- 亚历克斯-1
- 伊万-1
- 尼娜-1
- 尼娜-1
- 鲍勃-1
- 鲍勃-1
- 伊万-1
- 尼娜-1
- 尼娜-1
.......
在数组 $arr 中添加 $k2、$k3....$k6 出了什么问题?
【问题讨论】:
-
听起来像是crosstab queries 的一个很好的用例。如果您在查询中完成繁重的工作,您将不必使用 PHP 进行大量操作。