1

嗨!

如何从我的 PHP 表的第 3 列和第 6 列获取不同数据的数量:

<?php

打开的文本文件(第一行是由;划分的标题)

$fp = fopen('C:\...\usedlicences.txt','r') or die("can't open file");

创建带边框的表格

echo "<table id='MyTable' border='1'>\n";

为带有标题的表创建标题行

echo "<td><b>id</b><td><b>name</b></td><td><b>surname</b></td><td><b>address</b></td><td><b>state</b></td><td><b>phone</b></td><td><b>city</b></td><td><b>date</b></td><td><b>color</b></td>";                          
$length = 1000;
$delimiter = ";";      
$k=1;

从文件创建行并用数据填充它们(跳过第一个(标题)行)并添加第一列,其中写入行的 id

$csv_line = fgetcsv( $fp, $length, $delimiter); 
while($csv_line = fgetcsv( $fp, $length, $delimiter ) ) {
echo "<tr>";            
echo "<td>$k</td>";
$k++;   
for ($i = 0, $j = count($csv_line); $i < $j; $i++) {
echo '<td>'.$csv_line[$i].'</td>';  
}
}
echo "<tr>";   
echo '</table>';
fclose($fp) or die("can't close file");
?>

用于显示使用了多少许可证的警报(所有行减去标题行)

<script language="JavaScript">
var oRows = document.getElementById('MyTable').getElementsByTagName('tr');
var iRowCount = oRows.length-1;
alert('Licences used: ' + ((iRowCount)-1)+'!');
</script>

test.txt 看起来像:

id;name;surname;address;state;phone;city;date;color
1;John;Simts;Yellow 12;Greenik;1234567;Mannds;12/3/1234;blue    

谢谢,问候

4

1 回答 1

1

在你的 for 循环中放置以下代码:

if ($i==3) 
   $surname[$csv_line[$i]]++;
else if ($i==6)
   $phone[$csv_line[$i]]++;

那么姓氏(第 3 列)和电话(第 6 列)的不同记录数将是:

count($surname);
count($phone);

分别。

于 2012-07-26T11:35:30.930 回答