Как прочитать текстовый файл в таблицу HTML с помощью php?

#php #html

#php #HTML

Вопрос:

У меня есть текстовый файл, из которого я читаю. Основная цель — отобразить информацию из текстового файла в таблицу html. Информация для меня читается нормально, однако вся информация отображается в одной строке.

Текущий код: заголовки таблиц

         <tr>
            <th>Title</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Date of Birth</th>
            <th>Social Number</th>
            <th>Address</th>
            <th>Email</th>
            <th>Phone Number</th>
        </tr>

<?php

    if(!file_exists("patientdata.txt"))
    {
        echo "The file from above cannot be found!";
        exit;
    }
    
    $fp = fopen("patientdata.txt", "r");
    
    if(!$fp)
    {
        echo "File cannot be opened";
        exit;
    }
    echo "<table border = 3>";
    
    while(!feof($fp))
        {
            $info = fgets($fp);
            echo "<td>$info</td>n";
        }
        echo "</td>n";
        echo "</table>";
    fclose($fp)
?>
</body>
  

Комментарии:

1. Использовать file_get_contents()

2. Как разделяются данные в текстовом файле?

3. Содержимое файла сохраняется построчно, поэтому каждая введенная переменная сохраняется в новой строке. НАПРИМЕР, мисс Чоле Робертс 18-02-2020 9082179041 и т. Д

Ответ №1:

Вы можете использовать следующее, чтобы распечатать данные из вашего текстового файла в таблице HTML:

Примечания:

Это <style>...</style> небольшая встроенная таблица стилей, которая позволяет вам стилизовать вашу таблицу и другие HTML-элементы на вашей странице (вы также можете создать отдельный css-файл со всем вашим стилем документа и включить его в <head>...</head> свой HTML-документ).

Чтобы создать таблицу HTML из ваших данных, вам нужно убедиться, что вы не превышаете количество столбцов (в данном случае 8), поэтому мы устанавливаем $cols значение 8 и используем счетчик ( $count ) для отслеживания.

Итак, когда 8 columns заполняются данными, row запускается новый. Логика продолжает отображать строки, пока не останется больше данных, и таблица не будет закрыта </table> .

 <?php
if (!file_exists("patientdata.txt")) {
    echo "The file from above cannot be found!";
    exit;
}

$fp = fopen("patientdata.txt", "r");

if (!$fp) {
    echo "File cannot be opened";
    exit;
}

// a bit of styling...
echo <<<EOF
<style>
table, td, th {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border: 3px solid black;
  text-align: left;
}
</style>
EOF;

$count = 0;
$cols = 8; // the number of data items per row
echo '<table>'; // open table
// render headers
echo '<tr><th>Title</th><th>First Name</th><th>Last Name</th>
        <th>Date of Birth</th><th>Social Number</th><th>Address</th>
        <th>Email</th><th>Phone Number</th></tr>';
echo '<tr>'; // open first row
while(!feof($fp))
{
    if($count < $cols) {
        $info = fgets($fp);
        echo "<td>$info</td>"; // render data item
        $count  ;
    } else {
        $count = 0; // reset counter
        echo '</tr><tr>'; // close current row, start new row
    }
}
echo "</tr></table>"; // close final row, close table
fclose($fp); // close file handle
  

Вывод:
введите описание изображения здесь

Комментарии:

1. Рад, что смог помочь!

2. @MarcShields если это отвечает на ваш запрос, вы должны нажать кнопку, чтобы принять ответ, а также рассмотреть возможность его повышения.