严格使用php或javascript

时间:2017-09-17 06:58:10

标签: javascript php csv sorting

这是我从CSV文件中使用PHP显示的表格

1

我想对它进行排序,使得m1的所有行首先出现,然后是空白行,然后是m2,依此类推。

这是我用来将CSV文件显示为表格的代码。

<?php
$filename = basename(__FILE__, ".php");
$f = fopen("$filename.csv", "r");
while (($line = fgetcsv($f)) !== false) {
        echo "<tr>";
        foreach ($line as $cell) {
                echo "<td>" . htmlspecialchars($cell) . "</td>";
        }
        echo "</tr>\n";
}
fclose($f);
echo "\n</tbody></table></body></html>";
?>

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码渲染表格。这是它的工作原理:

  1. 首先从CSV文件

  2. 创建数据阵列
  3. 然后它排序第一列升序

  4. 遍历每一行并渲染表

     $mdarray = array();
     $filename = basename(__FILE__, ".php");
     $f = fopen("$filename.csv", "r");
    
     while (($line = fgetcsv($f)) !== false) {
     {
        array_push($mdarray, $line);
     }
     fclose($f);
    
     foreach ($mdarray as $key => $row) {
        $names[$key]  = $row[0];
     }
    
     array_multisort($names, SORT_ASC, $mdarray);
     //array_multisort(array_column($mdarray, 0), SORT_ASC, $mdarray);//php version >=5.5
    
     foreach ($mdarray as $line) {
        echo "<tr>";
        foreach ($line as $cell) {
                echo "<td>" . htmlspecialchars($cell) . "</td>";
        }
        echo "</tr>\n";
    
       echo "<hr>"; // blank line
    }