我对 PHP 和所有这些都是全新的。我想使用 CSV 文件制作一个可排序的表。我可以在 PHP 中获取文件,但我的表有四列,但它在我的表的第一列中显示了我的 CSV 文件的所有内容。
我的 CSV 文件如下所示:
Timestamp;Company;Employee;Type
06/02/2013;4298;2001;start
......... and so on....
这是我现在的php:
<?php
echo "QUERY_STRING is ".$_SERVER['QUERY_STRING']."<p>";
$rev=1;
$sortby=0;
if(isset($_GET['sortby']))$sortby = $_GET['sortby'];
if(isset($_GET['rev']))$rev = $_GET['rev'];
$i=-1;
$ff=fopen('...file.csv','r') or die("Can't open file");
while(!feof($ff)){
$i++;
$Data[$i]=fgetcsv($ff,1024);
}
foreach ($Data as $key => $row) {
$Timestamp[$key] = $row['Colname'];
$Company[$key] = $row['Colname'];
$Employee[$key] = $row['Colname'];
$Type[$key] = $row['Colname'];}
switch ($sortby){
case "0":
if($rev=="1")array_multisort($Timestamp, SORT_NUMERIC, $Data);
else array_multisort($Timestamp, SORT_NUMERIC, SORT_DESC,$Data);
$rev=$rev*-1;
break;
case "1":
if($rev=="1")array_multisort($Company, $Data);
else array_multisort($Company, SORT_DESC, $Data);
$rev=$rev*-1;
break;
case "2":
if($rev=="1")array_multisort($Employee, SORT_NUMERIC, $Data);
else array_multisort($Employee, SORT_NUMERIC, SORT_DESC,$Data);
$rev=$rev*-1;
break;
case "3":
if($rev=="1")array_multisort($Type, $Data);
else array_multisort($Type, SORT_DESC, $Data);
$rev=$rev*-1;
break;}
echo ("<table border=2>");
echo ("<th><a href=\"realtime3.php?sortby=0&rev=$rev\" title=\"Click to Sort/Reverse sort\">Timestamp</a></th>");
echo ("<th><a href=\"realtime3.php?sortby=1&rev=$rev\" title=\"Click to Sort/Reverse sort\">Company</a></th>");
echo ("<th><a href=\"realtime3.php?sortby=2&rev=$rev\" title=\"Click to Sort/Reverse sort\">Employee</a></th>");
echo ("<th><a href=\"realtime3.php?sortby=3&rev=$rev\" title=\"Click to Sort/Reverse sort\">Type</a></th>");
$i=0;
foreach($Data as $NewDat){
if($NewDat[0]!=""){ //error trap
$str="<tr>";
foreach($NewDat as $field)$str.="<td>$field</td>";
$str.="</td>\n";
echo $str;}}
fclose($ff);
echo "</table>";
?>
如果有人可以帮助我朝着好的方向发展,非常感谢。是否可以添加搜索字段/下拉字段/...?这将允许用户在输入或选择要搜索的输入时轻松更好地查看表格?我试图为表格进行分页,让我们说一次显示 15 行。我已经单独制作了它,但我无法让它正常工作。