我有这段代码可以读取一个csv文件,并以这种形式显示它:
REFERENCE;COLOR;QUANTITY;TURNOVER;SELL TROUGH;COMMENT
GJK0C9;8952;3;90;3%;Pack S
GJKCS4;399;2;19;10%;Windows
GSIJS5;9224;18;128;12%;New co
BBBOF1;90;17;116;13%;In sales
...
首先是标题,然后是所有行。
我想这样显示:
REFERENCE : GJK0C9
COLOR: 8952
QUANTITY: 3
TURNOVER : 90
SELL TROUGH: 3%
HOW: Pack S
REFERENCE : GJKCS4
COLOR: 399
....
依此类推。
如何以这种格式显示结果?
<?php
$row = 1;
if (($handle = fopen($nomcsv, 'r')) !== FALSE)
{
echo '<table>';
// Get headers
if (($data = fgetcsv($handle, 1000, ',')) !== FALSE)
{
echo '<tr><th>'.implode('</th><th>', $data).'</th></tr>';
}
// Get the rest
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE)
{
echo '<tr><td>'.implode('</td><td>', $data).'</td></tr>';
}
fclose($handle);
echo '</table>';
}
?>
更简单的方法:-
<?php
//read entire csv to array
$csv = array_map('str_getcsv', file('<file path>'));
//get column names
$column = array_shift($csv);
?>
<table>
<tr>
<?php foreach($column as $col){?><!--apply loop on column name-->
<th><?php echo $col;?></th><!-- column names -->
<?php } ?>
</tr>
<?php foreach($csv as $cs){?><!--apply loop on value-->
<tr><?php echo "<td>".implode("</td><td>",$cs)."</td>";?></tr>
<?php } ?>
</table>