我正在根据导入的.csv文件创建一个表。
这很好,但是我想吐一次公司名称。
所以这是 csv :
company,value
company1, 231
company1, 432
company1, 876
如果我foreach
将数据放入表中,我想要显示companyname
一次。
echo'<table><tr><td>Companyname</td><td>Value</td>';
foreach ($data as $gegevens){
$companyname = $gegevens['Companyname'];
$value = $gegevens['Value'];
echo '<tr><td>'.$companyname.'</td><td>'.$value.'</td></tr> ';
}
echo'</table>';
这就是我想要的输出:
[公司名称] [价值]
[公司1] [231]
[] [432]
[] [876]
有关如何实现这一目标的任何想法?
答案 0 :(得分:3)
请参阅OP对another answer的评论:
哈哈几乎......因为没有正确解释,这一定是我的错。有(当然)有多家公司。那么创建一个if语句还是什么?
因此,我会建议这样的事情:
$data = array(
array('Companyname' => 'FBI', 'Value' => '1'),
array('Companyname' => 'CIA', 'Value' => '2'),
array('Companyname' => 'CIA', 'Value' => '3'),
array('Companyname' => 'CIA', 'Value' => '4'),
array('Companyname' => 'NSA', 'Value' => '5'),
array('Companyname' => 'NSA', 'Value' => '6'),
);
$last_company = ""; // What was the last company we printed?
echo'<table><tr><td>Companyname</td><td>Value</td>';
foreach ($data as $gegevens){
$companyname = $gegevens['Companyname'];
$value = $gegevens['Value'];
if ($companyname == $last_company) {
echo '<tr><td></td><td>'.$value.'</td></tr>';
} else {
echo '<tr><td>'.$companyname.'</td><td>'.$value.'</td></tr>';
$last_company = $companyname;
}
}
echo'</table>';
这将生成以下输出(使用浏览器查看时):
Companyname Value
FBI 1
CIA 2
3
4
NSA 5
6
答案 1 :(得分:1)
你可以使用flag变量这样做。
var Associates mongoose.model('Associates', associatesSchema);
var AssociatesInfo mongoose.model('AssociatesInfo', associatesInfoSchema);
var associate = new Associates();
associate.name = new Name();
我认为它会解决你的问题。
答案 2 :(得分:1)
<?php
$data = array(
array('Companyname' => 'Company', 'Value' => '10'),
array('Companyname' => 'Company1', 'Value' => '10'),
array('Companyname' => 'Company1', 'Value' => '10'),
array('Companyname' => 'Company2', 'Value' => '10'),
);
$newdata = array();
foreach ($data as $gegevens){
$newdata[$gegevens['Companyname']][] = $gegevens['Value'];
}
echo'<table><tr><td>Companyname</td><td>Value</td>';
foreach($newdata as $company => $values) {
echo '<tr><td>'.$companyname.'</td><td>'.implode('<br>' ,$values).'</td></tr> ';
}
echo'</table>';
?>
答案 3 :(得分:0)
$rows = array();
foreach($data as $gegevens) {
$companyname = $gegevens['Companyname'];
$value = $gegevens['Value'];
echo '<tr><td>'.$companyname.'</td><td>'.$value.'</td></tr> ';
if(isset($rows[$companyname])) {
$rows[$companyname] .= '<tr><td> </td><td>'.$value.'</td></tr> ';
} else {
$rows[$companyname] = '<tr><td>'.$companyname.'</td><td>'.$value.'</td></tr> ';
}
}
echo'<table><tr><td>Companyname</td><td>Value</td>';
echo implode("",$rows);