【问题标题】:CSV to HTML Table using php使用 php 将 CSV 转换为 HTML 表
【发布时间】:2021-03-16 05:09:35
【问题描述】:

我正在尝试从我的 CSV 文件中获取数据并使用 php 将其显示在一个 html 表中,按客户姓氏排序。我已经尝试了几件事,但似乎没有用。

我得到的输出是: 现在的格式是最后一个,第一,地址,城市,地区,邮政编码 我将如何使用 php 将其导入到 html 表中?

使用此代码。

if( ($handle = fopen( 'input.csv', 'r' )) !== false )
{
    $output = '<table>';
    while( ($data = fgetcsv( $handle )) !== false )
    {
        $output .= '<tr>';
        foreach( $data as $value )
        {
            $output .= sprintf( '<td>%s</td>', $value );
        }
        $output .= '</tr>';
    }
    fclose( $handle );
    $output .= '</table>';
}
echo $output;

【问题讨论】:

  • 你尝试了什么?问题到底出在哪里?
  • 我提交了我尝试使用的代码。 @Dekel
  • 好多了 :) 请添加 输出 并解释问题出在哪里/是什么。
  • 没有输出,就是这个问题。只是一个空白页。
  • 开启错误报告。读取文件很有可能不起作用。我尝试了代码,它立即工作。添加一个“else”语句,看看它是否会触发。

标签: php csv html-table


【解决方案1】:

在您的最后一条评论中,您要求提供表头,以便您可以编写如下代码,

echo '<table border="1">';
echo '<thead>';
echo '<tr>';
echo '<th>last</th>';
echo '<th>first</th>';
echo '<th>address</th>';
echo '<th>.....</th>';
echo '<th>......</th>';
echo '<th>.....</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';

    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
        $num = count($data);
        echo '<tr>';

        for ($c=0; $c < $num; $c++) {
            if(empty($data[$c])) {
               $value = "&nbsp;";
            } else {
               $value = $data[$c];
            }                
            echo '<td>'.$value.'</td>';

        }
        echo '</tr>';

        $row++;
    }

    echo '</tbody></table>';

【讨论】:

    【解决方案2】:

    试试这个代码 也许这个对你有帮助

    <?php
    
    $row = 1;
    if (($handle = fopen("info.csv", "r")) !== FALSE) {
       
        echo '<table border="1">';
       
        while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
            $num = count($data);
            if ($row == 1) {
                echo '<thead><tr>';
            }else{
                echo '<tr>';
            }
           
            for ($c=0; $c < $num; $c++) {
                //echo $data[$c] . "<br />\n";
                if(empty($data[$c])) {
                   $value = "&nbsp;";
                }else{
                   $value = $data[$c];
                }
                if ($row == 1) {
                    echo '<th>'.$value.'</th>';
                }else{
                    echo '<td>'.$value.'</td>';
                }
            }
           
            if ($row == 1) {
                echo '</tr></thead><tbody>';
            }else{
                echo '</tr>';
            }
            $row++;
        }
       
        echo '</tbody></table>';
        fclose($handle);
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      相关资源
      最近更新 更多